home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / misc / dspice0s / dcop.c < prev    next >
C/C++ Source or Header  |  1992-11-21  |  79KB  |  2,466 lines

  1. /* dcop.f -- translated by f2c (version of 3 February 1990  3:36:42).
  2.    You must link the resulting object file with the libraries:
  3.     -lF77 -lI77 -lm -lc   (in that order)
  4. */
  5.  
  6. #include "f2c.h"
  7.  
  8. /* Common Block Declarations */
  9.  
  10. struct {
  11.     integer ielmnt, isbckt, nsbckt, iunsat, nunsat, itemps, numtem, isens, 
  12.         nsens, ifour, nfour, ifield, icode, idelim, icolum, insize, 
  13.         junode, lsbkpt, numbkp, iorder, jmnode, iur, iuc, ilc, ilr, 
  14.         numoff, isr, nmoffc, iseq, iseq1, neqn, nodevs, ndiag, iswap, 
  15.         iequa, macins, lvnim1, lx0, lvn, lynl, lyu, lyl, lx1, lx2, lx3, 
  16.         lx4, lx5, lx6, lx7, ld0, ld1, ltd, imynl, imvn, lcvn, nsnod, 
  17.         nsmat, nsval, icnod, icmat, icval, loutpt, lpol, lzer, irswpf, 
  18.         irswpr, icswpf, icswpr, irpt, jcpt, irowno, jcolno, nttbr, nttar, 
  19.         lvntmp;
  20. } tabinf_;
  21.  
  22. #define tabinf_1 tabinf_
  23.  
  24. struct {
  25.     integer locate[50], jelcnt[50], nunods, ncnods, numnod, nstop, nut, nlt, 
  26.         nxtrm, ndist, ntlin, ibr, numvs, numalt, numcyc;
  27. } cirdat_;
  28.  
  29. #define cirdat_1 cirdat_
  30.  
  31. struct {
  32.     doublereal omega, time, delta, delold[7], ag[7], vt, xni, egfet, xmu, 
  33.         sfactr;
  34.     integer mode, modedc, icalc, initf, method, iord, maxord, noncon, iterno, 
  35.         itemno, nosolv, modac, ipiv, ivmflg, ipostp, iscrch, iofile;
  36. } status_;
  37.  
  38. #define status_1 status_
  39.  
  40. struct {
  41.     doublereal twopi, xlog2, xlog10, root2, rad, boltz, charge, ctok, gmin, 
  42.         reltol, abstol, vntol, trtol, chgtol, eps0, epssil, epsox, pivtol,
  43.          pivrel;
  44. } knstnt_;
  45.  
  46. #define knstnt_1 knstnt_
  47.  
  48. struct {
  49.     doublereal atime, aprog[3], adate, atitle[10], defl, defw, defad, defas, 
  50.         rstats[50];
  51.     integer iwidth, lwidth, nopage;
  52. } miscel_;
  53.  
  54. #define miscel_1 miscel_
  55.  
  56. struct {
  57.     doublereal tcstar[2], tcstop[2], tcincr[2];
  58.     integer icvflg, itcelm[2], kssop, kinel, kidin, kovar, kidout;
  59. } dc_;
  60.  
  61. #define dc_1 dc_
  62.  
  63. struct {
  64.     doublereal fstart, fstop, fincr, skw2, refprl, spw2;
  65.     integer jacflg, idfreq, inoise, nosprt, nosout, nosin, idist, idprt;
  66. } ac_;
  67.  
  68. #define ac_1 ac_
  69.  
  70. struct {
  71.     doublereal value[200000];
  72. } blank_;
  73.  
  74. #define blank_1 blank_
  75.  
  76. /* Table of constant values */
  77.  
  78. static integer c__1 = 1;
  79. static integer c__2 = 2;
  80. static integer c__0 = 0;
  81.  
  82. /* spice version 2g.6  sccsid=dcop.ma 3/15/83 */
  83. /*<       subroutine dcop >*/
  84. /* Subroutine */ int dcop_()
  85. {
  86.     /* Initialized data */
  87.  
  88.     static struct {
  89.     char e_1[16];
  90.     doublereal e_2;
  91.     } equiv_229 = { {'(', '1', 'h', ' ', ',', 'a', '8', ',', ' ', ' ', 'f'
  92.         , '1', '0', '.', '3', ')'}, 0. };
  93.  
  94. #define afmt2 ((doublereal *)&equiv_229)
  95.  
  96.     static struct {
  97.     char e_1[24];
  98.     doublereal e_2;
  99.     } equiv_230 = { {'(', '1', 'h', ' ', ',', 'a', '8', ',', '1', 'p', ' '
  100.         , ' ', 'e', '1', '0', '.', '2', ')', ' ', ' ', ' ', ' ', ' ', 
  101.         ' '}, 0. };
  102.  
  103. #define afmt3 ((doublereal *)&equiv_230)
  104.  
  105.     static struct {
  106.     char e_1[24];
  107.     doublereal e_2;
  108.     } equiv_231 = { {'(', '\'', '0', 'm', 'o', 'd', 'e', 'l', ' ', ' ', 
  109.         ' ', '\'', ',', ' ', ' ', '(', '2', 'x', ',', 'a', '8', ')', 
  110.         ')', ' '}, 0. };
  111.  
  112. #define afmt4 ((doublereal *)&equiv_231)
  113.  
  114.     static struct {
  115.     char e_1[32];
  116.     doublereal e_2;
  117.     } equiv_232 = { {'o', 'p', 'e', 'r', 'a', 't', 'i', 'n', 'g', ' ', 'p'
  118.         , 'o', 'i', 'n', 't', ' ', 'i', 'n', 'f', 'o', 'r', 'm', 'a', 
  119.         't', 'i', 'o', 'n', ' ', ' ', ' ', ' ', ' '}, 0. };
  120.  
  121. #define optitl ((doublereal *)&equiv_232)
  122.  
  123.     static struct {
  124.     char e_1[8];
  125.     doublereal e_2;
  126.     } equiv_233 = { {'v', 'd', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  127.  
  128. #define avd (*(doublereal *)&equiv_233)
  129.  
  130.     static struct {
  131.     char e_1[8];
  132.     doublereal e_2;
  133.     } equiv_234 = { {'v', 'b', 'e', ' ', ' ', ' ', ' ', ' '}, 0. };
  134.  
  135. #define avbe (*(doublereal *)&equiv_234)
  136.  
  137.     static struct {
  138.     char e_1[8];
  139.     doublereal e_2;
  140.     } equiv_235 = { {'v', 'b', 'c', ' ', ' ', ' ', ' ', ' '}, 0. };
  141.  
  142. #define avbc (*(doublereal *)&equiv_235)
  143.  
  144.     static struct {
  145.     char e_1[8];
  146.     doublereal e_2;
  147.     } equiv_236 = { {'v', 'c', 'e', ' ', ' ', ' ', ' ', ' '}, 0. };
  148.  
  149. #define avce (*(doublereal *)&equiv_236)
  150.  
  151.     static struct {
  152.     char e_1[8];
  153.     doublereal e_2;
  154.     } equiv_237 = { {'v', 'g', 's', ' ', ' ', ' ', ' ', ' '}, 0. };
  155.  
  156. #define avgs (*(doublereal *)&equiv_237)
  157.  
  158.     static struct {
  159.     char e_1[8];
  160.     doublereal e_2;
  161.     } equiv_238 = { {'v', 'd', 's', ' ', ' ', ' ', ' ', ' '}, 0. };
  162.  
  163. #define avds (*(doublereal *)&equiv_238)
  164.  
  165.     static struct {
  166.     char e_1[8];
  167.     doublereal e_2;
  168.     } equiv_239 = { {'v', 'b', 's', ' ', ' ', ' ', ' ', ' '}, 0. };
  169.  
  170. #define avbs (*(doublereal *)&equiv_239)
  171.  
  172.     static struct {
  173.     char e_1[8];
  174.     doublereal e_2;
  175.     } equiv_240 = { {'v', '-', 's', 'o', 'u', 'r', 'c', 'e'}, 0. };
  176.  
  177. #define asrcv (*(doublereal *)&equiv_240)
  178.  
  179.     static struct {
  180.     char e_1[8];
  181.     doublereal e_2;
  182.     } equiv_241 = { {'i', '-', 's', 'o', 'u', 'r', 'c', 'e'}, 0. };
  183.  
  184. #define asrci (*(doublereal *)&equiv_241)
  185.  
  186.     static struct {
  187.     char e_1[8];
  188.     doublereal e_2;
  189.     } equiv_242 = { {'i', 'd', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  190.  
  191. #define aid (*(doublereal *)&equiv_242)
  192.  
  193.     static struct {
  194.     char e_1[8];
  195.     doublereal e_2;
  196.     } equiv_243 = { {'i', 'b', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  197.  
  198. #define aib (*(doublereal *)&equiv_243)
  199.  
  200.     static struct {
  201.     char e_1[8];
  202.     doublereal e_2;
  203.     } equiv_244 = { {'i', 'c', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  204.  
  205. #define aic (*(doublereal *)&equiv_244)
  206.  
  207.     static struct {
  208.     char e_1[8];
  209.     doublereal e_2;
  210.     } equiv_245 = { {'i', 'g', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  211.  
  212. #define aig (*(doublereal *)&equiv_245)
  213.  
  214.     static struct {
  215.     char e_1[8];
  216.     doublereal e_2;
  217.     } equiv_246 = { {'r', 'e', 'q', ' ', ' ', ' ', ' ', ' '}, 0. };
  218.  
  219. #define areq (*(doublereal *)&equiv_246)
  220.  
  221.     static struct {
  222.     char e_1[8];
  223.     doublereal e_2;
  224.     } equiv_247 = { {'r', 'p', 'i', ' ', ' ', ' ', ' ', ' '}, 0. };
  225.  
  226. #define arpi (*(doublereal *)&equiv_247)
  227.  
  228.     static struct {
  229.     char e_1[8];
  230.     doublereal e_2;
  231.     } equiv_248 = { {'r', 'o', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  232.  
  233. #define aro (*(doublereal *)&equiv_248)
  234.  
  235.     static struct {
  236.     char e_1[8];
  237.     doublereal e_2;
  238.     } equiv_249 = { {'c', 'a', 'p', ' ', ' ', ' ', ' ', ' '}, 0. };
  239.  
  240. #define acap (*(doublereal *)&equiv_249)
  241.  
  242.     static struct {
  243.     char e_1[8];
  244.     doublereal e_2;
  245.     } equiv_250 = { {'c', 'p', 'i', ' ', ' ', ' ', ' ', ' '}, 0. };
  246.  
  247. #define acpi (*(doublereal *)&equiv_250)
  248.  
  249.     static struct {
  250.     char e_1[8];
  251.     doublereal e_2;
  252.     } equiv_251 = { {'c', 'm', 'u', ' ', ' ', ' ', ' ', ' '}, 0. };
  253.  
  254. #define acmu (*(doublereal *)&equiv_251)
  255.  
  256.     static struct {
  257.     char e_1[8];
  258.     doublereal e_2;
  259.     } equiv_252 = { {'c', 'g', 's', ' ', ' ', ' ', ' ', ' '}, 0. };
  260.  
  261. #define acgs (*(doublereal *)&equiv_252)
  262.  
  263.     static struct {
  264.     char e_1[8];
  265.     doublereal e_2;
  266.     } equiv_253 = { {'c', 'g', 'd', ' ', ' ', ' ', ' ', ' '}, 0. };
  267.  
  268. #define acgd (*(doublereal *)&equiv_253)
  269.  
  270.     static struct {
  271.     char e_1[8];
  272.     doublereal e_2;
  273.     } equiv_254 = { {'c', 'b', 'd', ' ', ' ', ' ', ' ', ' '}, 0. };
  274.  
  275. #define acbd (*(doublereal *)&equiv_254)
  276.  
  277.     static struct {
  278.     char e_1[8];
  279.     doublereal e_2;
  280.     } equiv_255 = { {'c', 'b', 's', ' ', ' ', ' ', ' ', ' '}, 0. };
  281.  
  282. #define acbs (*(doublereal *)&equiv_255)
  283.  
  284.     static struct {
  285.     char e_1[8];
  286.     doublereal e_2;
  287.     } equiv_256 = { {'c', 'g', 's', 'o', 'v', 'l', ' ', ' '}, 0. };
  288.  
  289. #define acgsov (*(doublereal *)&equiv_256)
  290.  
  291.     static struct {
  292.     char e_1[8];
  293.     doublereal e_2;
  294.     } equiv_257 = { {'c', 'g', 'd', 'o', 'v', 'l', ' ', ' '}, 0. };
  295.  
  296. #define acgdov (*(doublereal *)&equiv_257)
  297.  
  298.     static struct {
  299.     char e_1[8];
  300.     doublereal e_2;
  301.     } equiv_258 = { {'c', 'g', 'b', 'o', 'v', 'l', ' ', ' '}, 0. };
  302.  
  303. #define acgbov (*(doublereal *)&equiv_258)
  304.  
  305.     static struct {
  306.     char e_1[8];
  307.     doublereal e_2;
  308.     } equiv_259 = { {'d', 'q', 'g', 'd', 'v', 'g', 'b', ' '}, 0. };
  309.  
  310. #define acggb (*(doublereal *)&equiv_259)
  311.  
  312.     static struct {
  313.     char e_1[8];
  314.     doublereal e_2;
  315.     } equiv_260 = { {'d', 'q', 'g', 'd', 'v', 'd', 'b', ' '}, 0. };
  316.  
  317. #define acgdb (*(doublereal *)&equiv_260)
  318.  
  319.     static struct {
  320.     char e_1[8];
  321.     doublereal e_2;
  322.     } equiv_261 = { {'d', 'q', 'g', 'd', 'v', 's', 'b', ' '}, 0. };
  323.  
  324. #define acgsb (*(doublereal *)&equiv_261)
  325.  
  326.     static struct {
  327.     char e_1[8];
  328.     doublereal e_2;
  329.     } equiv_262 = { {'d', 'q', 'b', 'd', 'v', 'g', 'b', ' '}, 0. };
  330.  
  331. #define acbgb (*(doublereal *)&equiv_262)
  332.  
  333.     static struct {
  334.     char e_1[8];
  335.     doublereal e_2;
  336.     } equiv_263 = { {'d', 'q', 'b', 'd', 'v', 'd', 'b', ' '}, 0. };
  337.  
  338. #define acbdb (*(doublereal *)&equiv_263)
  339.  
  340.     static struct {
  341.     char e_1[8];
  342.     doublereal e_2;
  343.     } equiv_264 = { {'d', 'q', 'b', 'd', 'v', 's', 'b', ' '}, 0. };
  344.  
  345. #define acbsb (*(doublereal *)&equiv_264)
  346.  
  347.     static struct {
  348.     char e_1[8];
  349.     doublereal e_2;
  350.     } equiv_265 = { {'c', 'g', 'b', ' ', ' ', ' ', ' ', ' '}, 0. };
  351.  
  352. #define acgb (*(doublereal *)&equiv_265)
  353.  
  354.     static struct {
  355.     char e_1[8];
  356.     doublereal e_2;
  357.     } equiv_266 = { {'c', 'd', 's', ' ', ' ', ' ', ' ', ' '}, 0. };
  358.  
  359. #define acds (*(doublereal *)&equiv_266)
  360.  
  361.     static struct {
  362.     char e_1[8];
  363.     doublereal e_2;
  364.     } equiv_267 = { {'v', 't', 'h', ' ', ' ', ' ', ' ', ' '}, 0. };
  365.  
  366. #define avth (*(doublereal *)&equiv_267)
  367.  
  368.     static struct {
  369.     char e_1[8];
  370.     doublereal e_2;
  371.     } equiv_268 = { {'v', 'd', 's', 'a', 't', ' ', ' ', ' '}, 0. };
  372.  
  373. #define avdsat (*(doublereal *)&equiv_268)
  374.  
  375.     static struct {
  376.     char e_1[8];
  377.     doublereal e_2;
  378.     } equiv_269 = { {'g', 'm', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  379.  
  380. #define agm (*(doublereal *)&equiv_269)
  381.  
  382.     static struct {
  383.     char e_1[8];
  384.     doublereal e_2;
  385.     } equiv_270 = { {'g', 'd', 's', ' ', ' ', ' ', ' ', ' '}, 0. };
  386.  
  387. #define agds (*(doublereal *)&equiv_270)
  388.  
  389.     static struct {
  390.     char e_1[8];
  391.     doublereal e_2;
  392.     } equiv_271 = { {'g', 'm', 'b', ' ', ' ', ' ', ' ', ' '}, 0. };
  393.  
  394. #define agmb (*(doublereal *)&equiv_271)
  395.  
  396.     static struct {
  397.     char e_1[8];
  398.     doublereal e_2;
  399.     } equiv_272 = { {'c', 'c', 's', ' ', ' ', ' ', ' ', ' '}, 0. };
  400.  
  401. #define accs (*(doublereal *)&equiv_272)
  402.  
  403.     static struct {
  404.     char e_1[8];
  405.     doublereal e_2;
  406.     } equiv_273 = { {'c', 'b', 'x', ' ', ' ', ' ', ' ', ' '}, 0. };
  407.  
  408. #define acbx (*(doublereal *)&equiv_273)
  409.  
  410.     static struct {
  411.     char e_1[8];
  412.     doublereal e_2;
  413.     } equiv_274 = { {'r', 'x', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  414.  
  415. #define arx (*(doublereal *)&equiv_274)
  416.  
  417.     static struct {
  418.     char e_1[8];
  419.     doublereal e_2;
  420.     } equiv_275 = { {'b', 'e', 't', 'a', 'd', 'c', ' ', ' '}, 0. };
  421.  
  422. #define abetad (*(doublereal *)&equiv_275)
  423.  
  424.     static struct {
  425.     char e_1[8];
  426.     doublereal e_2;
  427.     } equiv_276 = { {'b', 'e', 't', 'a', 'a', 'c', ' ', ' '}, 0. };
  428.  
  429. #define abetaa (*(doublereal *)&equiv_276)
  430.  
  431.     static struct {
  432.     char e_1[8];
  433.     doublereal e_2;
  434.     } equiv_277 = { {'f', 't', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  435.  
  436. #define aft (*(doublereal *)&equiv_277)
  437.  
  438.     static struct {
  439.     char e_1[8];
  440.     doublereal e_2;
  441.     } equiv_278 = { {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '}, 0. };
  442.  
  443. #define ablnk (*(doublereal *)&equiv_278)
  444.  
  445.     static struct {
  446.     char e_1[24];
  447.     doublereal e_2;
  448.     } equiv_279 = { {'(', '/', '/', '1', 'h', '0', ',', '1', '0', 'x', ','
  449.         , ' ', ' ', '(', '2', 'x', ',', 'a', '8', ')', ')', ' ', ' ', 
  450.         ' '}, 0. };
  451.  
  452. #define afmt1 ((doublereal *)&equiv_279)
  453.  
  454.  
  455.     /* Format strings */
  456.     static char fmt_11[] = "(////5x,\002voltage source currents\002//5x,\002\
  457. name\002,7x,\002current\002/)";
  458.     static char fmt_21[] = "(/5x,a8,1x,1pd10.3)";
  459.     static char fmt_91[] = "(//5x,\002total power dissipation  \002,1pd9.2\
  460. ,\002  watts\002)";
  461.     static char fmt_111[] = "(\0020\002,/,\0020**** voltage-controlled curre\
  462. nt sources\002)";
  463.     static char fmt_176[] = "(\0020\002,/,\0020**** voltage-controlled volta\
  464. ge sources\002)";
  465.     static char fmt_187[] = "(\0020\002,/,\0020**** current-controlled curre\
  466. nt sources\002)";
  467.     static char fmt_197[] = "(\0020\002,/,\0020**** current-controlled volta\
  468. ge sources\002)";
  469.     static char fmt_211[] = "(\0020\002,/,\0020**** diodes\002)";
  470.     static char fmt_301[] = "(\0020\002,/,\0020**** bipolar junction transis\
  471. tors\002)";
  472.     static char fmt_401[] = "(\0020\002,/,\0020**** jfets\002)";
  473.     static char fmt_501[] = "(\0020\002,/,\0020**** mosfets\002)";
  474.     static char fmt_551[] = "(\002 derivatives of gate (dqgdvx) and bulk (dq\
  475. bdvx) charges\002)";
  476.  
  477.     /* System generated locals */
  478.     integer i_1;
  479.     doublereal d_1, d_2, d_3;
  480.     static doublereal equiv_6[12], equiv_7[12], equiv_8[12], equiv_9[12], 
  481.         equiv_10[12], equiv_11[12], equiv_12[12], equiv_13[12], equiv_16[
  482.         12], equiv_17[12], equiv_18[12], equiv_19[12], equiv_20[12], 
  483.         equiv_21[12], equiv_22[12], equiv_23[12], equiv_24[12];
  484.  
  485.     /* Builtin functions */
  486.     integer s_wsfe(), e_wsfe(), do_fio();
  487.     double d_sign();
  488.  
  489.     /* Local variables */
  490. #define cggb (equiv_21)
  491.     static doublereal cbsb[12], anam[12];
  492. #define cgsb (equiv_23)
  493.     static doublereal amod[12];
  494.     static integer ipos, kntr;
  495.     extern /* Subroutine */ int move_();
  496.     static integer locv, iptr, loct, locm;
  497.     static doublereal type, xqco;
  498.     extern /* Subroutine */ int sstf_();
  499.     static integer node1, node2, node3, node4, node5, node6, i;
  500.     static doublereal creal;
  501. #define cgdov (equiv_9)
  502. #define cgbov (equiv_10)
  503. #define cgsov (equiv_8)
  504. #define vdsat (equiv_12)
  505.     static doublereal t1, power;
  506.     extern /* Subroutine */ int title_();
  507.     static doublereal t2;
  508. #define cb (equiv_16)
  509. #define cc (equiv_17)
  510. #define cd (equiv_13)
  511. #define cg (equiv_16)
  512. #define betaac (equiv_11)
  513. #define betadc (equiv_10)
  514.     static doublereal gm[12];
  515. #define vd (equiv_16)
  516. #define ft (equiv_12)
  517. #define ro (equiv_7)
  518. #define nodplc ((integer *)&blank_1)
  519. #define cvalue ((complex *)&blank_1)
  520.     extern logical memptr_();
  521. #define av1 (equiv_18)
  522. #define ai1 (equiv_19)
  523. #define cap (equiv_17)
  524. #define vbe (equiv_18)
  525. #define vbc (equiv_19)
  526. #define vce (equiv_20)
  527. #define cpi (equiv_8)
  528. #define cmu (equiv_9)
  529. #define ccs (equiv_13)
  530. #define req (equiv_20)
  531. #define cbx (equiv_21)
  532. #define rx (equiv_22)
  533. #define rpi (equiv_6)
  534. #define gds (equiv_19)
  535. #define vds (equiv_18)
  536. #define vgs (equiv_17)
  537. #define vbs (equiv_20)
  538. #define cbd (equiv_6)
  539. #define cbs (equiv_7)
  540. #define vth (equiv_11)
  541.     static doublereal gmb[12];
  542. #define cgs (equiv_21)
  543. #define cgd (equiv_22)
  544. #define cgb (equiv_23)
  545. #define cds (equiv_24)
  546.     extern /* Subroutine */ int alfnum_(), second_();
  547.     static integer ititle, loc, numdev, kntlim;
  548.     static doublereal xl, xw, covlgs, covlgd, covlgb, devmod;
  549.     extern /* Subroutine */ int sencal_(), clrmem_();
  550.     static doublereal cbdb[12];
  551. #define cbgb (equiv_24)
  552. #define cgdb (equiv_22)
  553.  
  554.     /* Fortran I/O blocks */
  555.     static cilist io__112 = { 0, 0, 0, fmt_11, 0 };
  556.     static cilist io__113 = { 0, 0, 0, fmt_21, 0 };
  557.     static cilist io__116 = { 0, 0, 0, fmt_91, 0 };
  558.     static cilist io__121 = { 0, 0, 0, fmt_111, 0 };
  559.     static cilist io__122 = { 0, 0, 0, (char *)afmt1, 0 };
  560.     static cilist io__124 = { 0, 0, 0, (char *)afmt3, 0 };
  561.     static cilist io__125 = { 0, 0, 0, fmt_176, 0 };
  562.     static cilist io__126 = { 0, 0, 0, (char *)afmt1, 0 };
  563.     static cilist io__127 = { 0, 0, 0, (char *)afmt2, 0 };
  564.     static cilist io__128 = { 0, 0, 0, (char *)afmt3, 0 };
  565.     static cilist io__129 = { 0, 0, 0, fmt_187, 0 };
  566.     static cilist io__130 = { 0, 0, 0, (char *)afmt1, 0 };
  567.     static cilist io__131 = { 0, 0, 0, (char *)afmt3, 0 };
  568.     static cilist io__132 = { 0, 0, 0, fmt_197, 0 };
  569.     static cilist io__133 = { 0, 0, 0, (char *)afmt1, 0 };
  570.     static cilist io__134 = { 0, 0, 0, (char *)afmt2, 0 };
  571.     static cilist io__135 = { 0, 0, 0, (char *)afmt3, 0 };
  572.     static cilist io__138 = { 0, 0, 0, fmt_211, 0 };
  573.     static cilist io__139 = { 0, 0, 0, (char *)afmt1, 0 };
  574.     static cilist io__140 = { 0, 0, 0, (char *)afmt4, 0 };
  575.     static cilist io__141 = { 0, 0, 0, (char *)afmt3, 0 };
  576.     static cilist io__142 = { 0, 0, 0, (char *)afmt2, 0 };
  577.     static cilist io__143 = { 0, 0, 0, (char *)afmt3, 0 };
  578.     static cilist io__144 = { 0, 0, 0, (char *)afmt3, 0 };
  579.     static cilist io__148 = { 0, 0, 0, fmt_301, 0 };
  580.     static cilist io__149 = { 0, 0, 0, (char *)afmt1, 0 };
  581.     static cilist io__150 = { 0, 0, 0, (char *)afmt4, 0 };
  582.     static cilist io__151 = { 0, 0, 0, (char *)afmt3, 0 };
  583.     static cilist io__152 = { 0, 0, 0, (char *)afmt3, 0 };
  584.     static cilist io__153 = { 0, 0, 0, (char *)afmt2, 0 };
  585.     static cilist io__154 = { 0, 0, 0, (char *)afmt2, 0 };
  586.     static cilist io__155 = { 0, 0, 0, (char *)afmt2, 0 };
  587.     static cilist io__156 = { 0, 0, 0, (char *)afmt2, 0 };
  588.     static cilist io__157 = { 0, 0, 0, (char *)afmt3, 0 };
  589.     static cilist io__158 = { 0, 0, 0, (char *)afmt3, 0 };
  590.     static cilist io__159 = { 0, 0, 0, (char *)afmt3, 0 };
  591.     static cilist io__160 = { 0, 0, 0, (char *)afmt3, 0 };
  592.     static cilist io__161 = { 0, 0, 0, (char *)afmt3, 0 };
  593.     static cilist io__162 = { 0, 0, 0, (char *)afmt3, 0 };
  594.     static cilist io__163 = { 0, 0, 0, (char *)afmt3, 0 };
  595.     static cilist io__164 = { 0, 0, 0, (char *)afmt3, 0 };
  596.     static cilist io__165 = { 0, 0, 0, (char *)afmt2, 0 };
  597.     static cilist io__166 = { 0, 0, 0, (char *)afmt3, 0 };
  598.     static cilist io__167 = { 0, 0, 0, fmt_401, 0 };
  599.     static cilist io__168 = { 0, 0, 0, (char *)afmt1, 0 };
  600.     static cilist io__169 = { 0, 0, 0, (char *)afmt4, 0 };
  601.     static cilist io__170 = { 0, 0, 0, (char *)afmt3, 0 };
  602.     static cilist io__171 = { 0, 0, 0, (char *)afmt2, 0 };
  603.     static cilist io__172 = { 0, 0, 0, (char *)afmt2, 0 };
  604.     static cilist io__173 = { 0, 0, 0, (char *)afmt3, 0 };
  605.     static cilist io__174 = { 0, 0, 0, (char *)afmt3, 0 };
  606.     static cilist io__175 = { 0, 0, 0, (char *)afmt3, 0 };
  607.     static cilist io__176 = { 0, 0, 0, (char *)afmt3, 0 };
  608.     static cilist io__190 = { 0, 0, 0, fmt_501, 0 };
  609.     static cilist io__191 = { 0, 0, 0, (char *)afmt1, 0 };
  610.     static cilist io__192 = { 0, 0, 0, (char *)afmt4, 0 };
  611.     static cilist io__193 = { 0, 0, 0, (char *)afmt3, 0 };
  612.     static cilist io__194 = { 0, 0, 0, (char *)afmt2, 0 };
  613.     static cilist io__195 = { 0, 0, 0, (char *)afmt2, 0 };
  614.     static cilist io__196 = { 0, 0, 0, (char *)afmt2, 0 };
  615.     static cilist io__197 = { 0, 0, 0, (char *)afmt2, 0 };
  616.     static cilist io__198 = { 0, 0, 0, (char *)afmt2, 0 };
  617.     static cilist io__199 = { 0, 0, 0, (char *)afmt3, 0 };
  618.     static cilist io__200 = { 0, 0, 0, (char *)afmt3, 0 };
  619.     static cilist io__201 = { 0, 0, 0, (char *)afmt3, 0 };
  620.     static cilist io__202 = { 0, 0, 0, (char *)afmt3, 0 };
  621.     static cilist io__203 = { 0, 0, 0, (char *)afmt3, 0 };
  622.     static cilist io__204 = { 0, 0, 0, (char *)afmt3, 0 };
  623.     static cilist io__205 = { 0, 0, 0, (char *)afmt3, 0 };
  624.     static cilist io__206 = { 0, 0, 0, (char *)afmt3, 0 };
  625.     static cilist io__207 = { 0, 0, 0, fmt_551, 0 };
  626.     static cilist io__208 = { 0, 0, 0, (char *)afmt3, 0 };
  627.     static cilist io__209 = { 0, 0, 0, (char *)afmt3, 0 };
  628.     static cilist io__210 = { 0, 0, 0, (char *)afmt3, 0 };
  629.     static cilist io__211 = { 0, 0, 0, (char *)afmt3, 0 };
  630.     static cilist io__212 = { 0, 0, 0, (char *)afmt3, 0 };
  631.     static cilist io__213 = { 0, 0, 0, (char *)afmt3, 0 };
  632.     static cilist io__214 = { 0, 0, 0, (char *)afmt3, 0 };
  633.     static cilist io__215 = { 0, 0, 0, (char *)afmt3, 0 };
  634.     static cilist io__216 = { 0, 0, 0, (char *)afmt3, 0 };
  635.     static cilist io__217 = { 0, 0, 0, (char *)afmt3, 0 };
  636.     static cilist io__218 = { 0, 0, 0, (char *)afmt3, 0 };
  637.     static cilist io__219 = { 0, 0, 0, (char *)afmt2, 0 };
  638.     static cilist io__220 = { 0, 0, 0, (char *)afmt2, 0 };
  639.     static cilist io__221 = { 0, 0, 0, (char *)afmt2, 0 };
  640.     static cilist io__222 = { 0, 0, 0, (char *)afmt3, 0 };
  641.     static cilist io__223 = { 0, 0, 0, (char *)afmt3, 0 };
  642.     static cilist io__224 = { 0, 0, 0, (char *)afmt3, 0 };
  643.     static cilist io__225 = { 0, 0, 0, (char *)afmt3, 0 };
  644.     static cilist io__226 = { 0, 0, 0, (char *)afmt3, 0 };
  645.     static cilist io__227 = { 0, 0, 0, (char *)afmt3, 0 };
  646.  
  647.  
  648. /*<       implicit double precision (a-h,o-z) >*/
  649.  
  650. /*     this routine prints out the operating points of the nonlinear */
  651. /* circuit elements. */
  652.  
  653. /* spice version 2g.6  sccsid=tabinf 3/15/83 */
  654. /*<       common /tabinf/ ielmnt,isbckt,nsbckt,iunsat,nunsat,itemps,numtem, >*/
  655. /*<      1   isens,nsens,ifour,nfour,ifield,icode,idelim,icolum,insize, >*/
  656. /*<      2   junode,lsbkpt,numbkp,iorder,jmnode,iur,iuc,ilc,ilr,numoff,isr, >*/
  657. /*<      3   nmoffc,iseq,iseq1,neqn,nodevs,ndiag,iswap,iequa,macins,lvnim1, >*/
  658. /*<      4   lx0,lvn,lynl,lyu,lyl,lx1,lx2,lx3,lx4,lx5,lx6,lx7,ld0,ld1,ltd, >*/
  659. /*<      5   imynl,imvn,lcvn,nsnod,nsmat,nsval,icnod,icmat,icval, >*/
  660. /*<      6   loutpt,lpol,lzer,irswpf,irswpr,icswpf,icswpr,irpt,jcpt, >*/
  661. /*<      7   irowno,jcolno,nttbr,nttar,lvntmp >*/
  662. /* spice version 2g.6  sccsid=cirdat 3/15/83 */
  663. /*<       common /cirdat/ locate(50),jelcnt(50),nunods,ncnods,numnod,nstop, >*/
  664. /*<      1   nut,nlt,nxtrm,ndist,ntlin,ibr,numvs,numalt,numcyc >*/
  665. /* spice version 2g.6  sccsid=status 3/15/83 */
  666. /*<       common /status/ omega,time,delta,delold(7),ag(7),vt,xni,egfet, >*/
  667. /*<      1   xmu,sfactr,mode,modedc,icalc,initf,method,iord,maxord,noncon, >*/
  668. /*<      2   iterno,itemno,nosolv,modac,ipiv,ivmflg,ipostp,iscrch,iofile >*/
  669. /* spice version 2g.6  sccsid=knstnt 3/15/83 */
  670. /*<       common /knstnt/ twopi,xlog2,xlog10,root2,rad,boltz,charge,ctok, >*/
  671. /*<      1   gmin,reltol,abstol,vntol,trtol,chgtol,eps0,epssil,epsox, >*/
  672. /*<      2   pivtol,pivrel >*/
  673. /* spice version 2g.6  sccsid=miscel 3/15/83 */
  674. /*<       common /miscel/ atime,aprog(3),adate,atitle(10),defl,defw,defad, >*/
  675. /*<      1  defas,rstats(50),iwidth,lwidth,nopage >*/
  676. /* spice version 2g.6  sccsid=dc 3/15/83 */
  677. /*<       common /dc/ tcstar(2),tcstop(2),tcincr(2),icvflg,itcelm(2),kssop, >*/
  678. /*<      1   kinel,kidin,kovar,kidout >*/
  679. /* spice version 2g.6  sccsid=ac 3/15/83 */
  680. /*<       common /ac/ fstart,fstop,fincr,skw2,refprl,spw2,jacflg,idfreq, >*/
  681. /*<      1   inoise,nosprt,nosout,nosin,idist,idprt >*/
  682. /* spice version 2g.6  sccsid=blank 3/15/83 */
  683. /*<       common /blank/ value(200000) >*/
  684. /*<       integer nodplc(64) >*/
  685. /*<       complex cvalue(32) >*/
  686. /*<       equivalence (value(1),nodplc(1),cvalue(1)) >*/
  687. /*<       logical memptr >*/
  688.  
  689.  
  690. /*<       dimension optitl(4) >*/
  691. /*<       dimension anam(12),av1(12),ai1(12),req(12) >*/
  692. /*<       dimension amod(12),vd(12),cap(12) >*/
  693. /*<       dimension cb(12),cc(12),vbe(12),vbc(12),vce(12),rpi(12), >*/
  694. /*<      1   ro(12),cpi(12),cmu(12),betadc(12),betaac(12),ft(12), >*/
  695. /*<      2   ccs(12),cbx(12),rx(12) >*/
  696. /*<       dimension cg(12),vgs(12),vds(12),gds(12),vbs(12),cbd(12),cbs(12), >*/
  697. /*<      2  cgsov(12),cgdov(12),cgbov(12),vth(12),vdsat(12),cd(12),gm(12), >*/
  698. /*<      3  cggb(12),cgdb(12),cgsb(12),cbgb(12),cbdb(12),cbsb(12), >*/
  699. /*<      4  gmb(12) >*/
  700. /*<       dimension cgs(12),cgd(12),cgb(12),cds(12) >*/
  701. /*<       equivalence(cb(1),cg(1)),(cc(1),vgs(1)),(vbe(1),vds(1)), >*/
  702. /*<      1(vbc(1),gds(1)),(vce(1),vbs(1)),(rpi(1),cbd(1)), >*/
  703. /*<      2(ro(1),cbs(1)),(cpi(1),cgsov(1)),(cmu(1),cgdov(1)), >*/
  704. /*<      3(betadc(1),cgbov(1)),(betaac(1),vth(1)),(ft(1),vdsat(1)), >*/
  705. /*<      4(ccs(1),cd(1)),(cbx(1),cggb(1)),(rx(1),cgdb(1)) >*/
  706. /*<       equivalence(vd(1),cg(1)),(cap(1),vgs(1)),(av1(1),vds(1)), >*/
  707. /*<      1  (ai1(1),gds(1)),(req(1),vbs(1)) >*/
  708. /*<       equivalence (cgs(1),cggb(1)),(cgd(1),cgdb(1)),(cgb(1),cgsb(1)), >*/
  709. /*<      1  (cds(1),cbgb(1)) >*/
  710. /*<       dimension afmt1(3),afmt2(2),afmt3(3),afmt4(3) >*/
  711. /*<       data optitl / 8hoperatin, 8hg point , 8hinformat, 8hion      / >*/
  712. /*<       data av,avd,avbe,avbc,avce,avgs,avds,avbs / 1hv,2hvd,3hvbe,3hvbc, >*/
  713. /*<      1   3hvce,3hvgs,3hvds,3hvbs / >*/
  714. /*<       data acntrv,acntri,asrcv,asrci,atrang,atranr,avgain,aigain / >*/
  715. /*<      1   8hv-contrl, 8hi-contrl, 8hv-source, 8hi-source, >*/
  716. /*<      2   8htrans-g , 8htrans-r , 8hv gain  , 8hi gain   / >*/
  717. /*<       data ai,aid,aib,aic,aig / 1hi,2hid,2hib,2hic,2hig / >*/
  718. /*<       data areq,arpi,aro / 3hreq,3hrpi,2hro / >*/
  719. /*<       data acap,acpi,acmu,acgs,acgd,acbd,acbs / 3hcap,3hcpi,3hcmu,3hcgs, >*/
  720. /*<      1   3hcgd,3hcbd,3hcbs / >*/
  721. /*<       data acgsov,acgdov,acgbov /6hcgsovl,6hcgdovl,6hcgbovl/ >*/
  722. /*<       data acggb,acgdb,acgsb,acbgb,acbdb,acbsb /7hdqgdvgb,7hdqgdvdb, >*/
  723. /*<      1  7hdqgdvsb,7hdqbdvgb,7hdqbdvdb,7hdqbdvsb/ >*/
  724. /*<       data acgb,acds / 3hcgb,3hcds / >*/
  725. /*<       data avth, avdsat / 3hvth, 5hvdsat / >*/
  726. /*<       data agm,agds / 2hgm,3hgds / >*/
  727. /*<       data agmb / 4hgmb / >*/
  728. /*<       data accs,acbx,arx /3hccs,3hcbx,2hrx/ >*/
  729. /*<       data abetad,abetaa / 6hbetadc,6hbetaac / >*/
  730. /*<       data aft / 2hft / >*/
  731.  
  732. /*<       data ablnk /1h / >*/
  733. /*<       data afmt1 /8h(//1h0,1,8h0x,  (2x,8h,a8))   / >*/
  734. /*<       data afmt2 /8h(1h ,a8,,8h  f10.3)/ >*/
  735. /*<       data afmt3 /8h(1h ,a8,,8h1p  e10.,8h2)      / >*/
  736. /*<       data afmt4 /8h('0model,8h   ',  (,8h2x,a8)) / >*/
  737.  
  738. /* .. fix-up the format statements */
  739.  
  740. /*<       kntr=12 >*/
  741.     kntr = 12;
  742. /*<       if(lwidth.le.80) kntr=7 >*/
  743.     if (miscel_1.lwidth <= 80) {
  744.     kntr = 7;
  745.     }
  746. /*<       ipos=12 >*/
  747.     ipos = 12;
  748. /*<       call move(afmt1,ipos,ablnk,1,2) >*/
  749.     move_(afmt1, &ipos, &ablnk, &c__1, &c__2);
  750. /*<       call alfnum(kntr,afmt1,ipos) >*/
  751.     alfnum_(&kntr, afmt1, &ipos);
  752. /*<       ipos=9 >*/
  753.     ipos = 9;
  754. /*<       call move(afmt2,ipos,ablnk,1,2) >*/
  755.     move_(afmt2, &ipos, &ablnk, &c__1, &c__2);
  756. /*<       call alfnum(kntr,afmt2,ipos) >*/
  757.     alfnum_(&kntr, afmt2, &ipos);
  758. /*<       ipos=11 >*/
  759.     ipos = 11;
  760. /*<       call move(afmt3,ipos,ablnk,1,2) >*/
  761.     move_(afmt3, &ipos, &ablnk, &c__1, &c__2);
  762. /*<       call alfnum(kntr,afmt3,ipos) >*/
  763.     alfnum_(&kntr, afmt3, &ipos);
  764. /*<       ipos=14 >*/
  765.     ipos = 14;
  766. /*<       call move(afmt4,ipos,ablnk,1,2) >*/
  767.     move_(afmt4, &ipos, &ablnk, &c__1, &c__2);
  768. /*<       call alfnum(kntr,afmt4,ipos) >*/
  769.     alfnum_(&kntr, afmt4, &ipos);
  770.  
  771. /*  compute voltage source currents and power dissipation */
  772.  
  773. /*<       call second(t1) >*/
  774.     second_(&t1);
  775. /*<       if ((mode.eq.1).and.(modedc.eq.2).and.(nosolv.ne.0)) go to 700 >*/
  776.     if (status_1.mode == 1 && status_1.modedc == 2 && status_1.nosolv != 0) {
  777.     goto L700;
  778.     }
  779. /*<       power=0.0d0 >*/
  780.     power = 0.;
  781. /*<       if (jelcnt(9).eq.0) go to 50 >*/
  782.     if (cirdat_1.jelcnt[8] == 0) {
  783.     goto L50;
  784.     }
  785. /*<       ititle=0 >*/
  786.     ititle = 0;
  787. /*<    11 format (////5x,'voltage source currents'//5x,'name', >*/
  788. /*<      1   7x,'current'/) >*/
  789. /* L11: */
  790. /*<       loc=locate(9) >*/
  791.     loc = cirdat_1.locate[8];
  792. /*<    20 if ((loc.eq.0).or.(nodplc(loc+11).ne.0)) go to 50 >*/
  793. L20:
  794.     if (loc == 0 || nodplc[loc + 10] != 0) {
  795.     goto L50;
  796.     }
  797. /*<       locv=nodplc(loc+1) >*/
  798.     locv = nodplc[loc];
  799. /*<       iptr=nodplc(loc+6) >*/
  800.     iptr = nodplc[loc + 5];
  801. /*<       creal=value(lvnim1+iptr) >*/
  802.     creal = blank_1.value[tabinf_1.lvnim1 + iptr - 1];
  803. /*<       power=power-creal*value(locv+1) >*/
  804.     power -= creal * blank_1.value[locv];
  805. /*<       if (ititle.eq.0) write (iofile,11) >*/
  806.     if (ititle == 0) {
  807.     io__112.ciunit = status_1.iofile;
  808.     s_wsfe(&io__112);
  809.     e_wsfe();
  810.     }
  811. /*<       ititle=1 >*/
  812.     ititle = 1;
  813. /*<       write (iofile,21) value(locv),creal >*/
  814.     io__113.ciunit = status_1.iofile;
  815.     s_wsfe(&io__113);
  816.     do_fio(&c__1, (char *)&blank_1.value[locv - 1], (ftnlen)sizeof(doublereal)
  817.         );
  818.     do_fio(&c__1, (char *)&creal, (ftnlen)sizeof(doublereal));
  819.     e_wsfe();
  820. /*<    21 format (/5x,a8,1x,1pd10.3) >*/
  821. /*<    30 loc=nodplc(loc) >*/
  822. /* L30: */
  823.     loc = nodplc[loc - 1];
  824. /*<       go to 20 >*/
  825.     goto L20;
  826. /*<    50 loc=locate(10) >*/
  827. L50:
  828.     loc = cirdat_1.locate[9];
  829. /*<    60 if ((loc.eq.0).or.(nodplc(loc+6).ne.0)) go to 90 >*/
  830. L60:
  831.     if (loc == 0 || nodplc[loc + 5] != 0) {
  832.     goto L90;
  833.     }
  834. /*<       locv=nodplc(loc+1) >*/
  835.     locv = nodplc[loc];
  836. /*<       node1=nodplc(loc+2) >*/
  837.     node1 = nodplc[loc + 1];
  838. /*<       node2=nodplc(loc+3) >*/
  839.     node2 = nodplc[loc + 2];
  840. /*<       power=power-value(locv+1) >*/
  841. /*<      1   *(value(lvnim1+node1)-value(lvnim1+node2)) >*/
  842.     power -= blank_1.value[locv] * (blank_1.value[tabinf_1.lvnim1 + node1 - 1]
  843.          - blank_1.value[tabinf_1.lvnim1 + node2 - 1]);
  844. /*<       loc=nodplc(loc) >*/
  845.     loc = nodplc[loc - 1];
  846. /*<       go to 60 >*/
  847.     goto L60;
  848. /*<    90 write (iofile,91) power >*/
  849. L90:
  850.     io__116.ciunit = status_1.iofile;
  851.     s_wsfe(&io__116);
  852.     do_fio(&c__1, (char *)&power, (ftnlen)sizeof(doublereal));
  853.     e_wsfe();
  854. /*<    91 format (//5x,'total power dissipation  ',1pd9.2,'  watts') >*/
  855.  
  856. /*  small signal device parameters */
  857.  
  858. /*<       numdev=jelcnt(5)+jelcnt(6)+jelcnt(7)+jelcnt(8)+jelcnt(11) >*/
  859. /*<      1   +jelcnt(12)+jelcnt(13)+jelcnt(14) >*/
  860.     numdev = cirdat_1.jelcnt[4] + cirdat_1.jelcnt[5] + cirdat_1.jelcnt[6] + 
  861.         cirdat_1.jelcnt[7] + cirdat_1.jelcnt[10] + cirdat_1.jelcnt[11] + 
  862.         cirdat_1.jelcnt[12] + cirdat_1.jelcnt[13];
  863. /*<       if (numdev.eq.0) go to 600 >*/
  864.     if (numdev == 0) {
  865.     goto L600;
  866.     }
  867. /*<       call title(0,lwidth,1,optitl) >*/
  868.     title_(&c__0, &miscel_1.lwidth, &c__1, optitl);
  869. /*<       kntlim=lwidth/11 >*/
  870.     kntlim = miscel_1.lwidth / 11;
  871.  
  872. /*  nonlinear voltage controlled current sources */
  873.  
  874. /*<       if (jelcnt(5).eq.0) go to 175 >*/
  875.     if (cirdat_1.jelcnt[4] == 0) {
  876.     goto L175;
  877.     }
  878. /*<       ititle=0 >*/
  879.     ititle = 0;
  880. /*<   111 format(1h0,/,'0**** voltage-controlled current sources') >*/
  881. /* L111: */
  882. /*<       loc=locate(5) >*/
  883.     loc = cirdat_1.locate[4];
  884. /*<       kntr=0 >*/
  885.     kntr = 0;
  886. /*<   120 if ((loc.eq.0).or.(nodplc(loc+13).ne.0)) go to 140 >*/
  887. L120:
  888.     if (loc == 0 || nodplc[loc + 12] != 0) {
  889.     goto L140;
  890.     }
  891. /*<       kntr=kntr+1 >*/
  892.     ++kntr;
  893. /*<       locv=nodplc(loc+1) >*/
  894.     locv = nodplc[loc];
  895. /*<       loct=lx0+nodplc(loc+12) >*/
  896.     loct = tabinf_1.lx0 + nodplc[loc + 11];
  897. /*<       anam(kntr)=value(locv) >*/
  898.     anam[kntr - 1] = blank_1.value[locv - 1];
  899. /*<       ai1(kntr)=value(loct) >*/
  900.     ai1[kntr - 1] = blank_1.value[loct - 1];
  901. /*<       if (kntr.ge.kntlim) go to 150 >*/
  902.     if (kntr >= kntlim) {
  903.     goto L150;
  904.     }
  905. /*<   130 loc=nodplc(loc) >*/
  906. L130:
  907.     loc = nodplc[loc - 1];
  908. /*<       go to 120 >*/
  909.     goto L120;
  910. /*<   140 if (kntr.eq.0) go to 175 >*/
  911. L140:
  912.     if (kntr == 0) {
  913.     goto L175;
  914.     }
  915. /*<   150 if (ititle.eq.0) write (iofile,111) >*/
  916. L150:
  917.     if (ititle == 0) {
  918.     io__121.ciunit = status_1.iofile;
  919.     s_wsfe(&io__121);
  920.     e_wsfe();
  921.     }
  922. /*<       ititle=1 >*/
  923.     ititle = 1;
  924. /*<       write (iofile,afmt1) (anam(i),i=1,kntr) >*/
  925.     io__122.ciunit = status_1.iofile;
  926.     s_wsfe(&io__122);
  927.     i_1 = kntr;
  928.     for (i = 1; i <= i_1; ++i) {
  929.     do_fio(&c__1, (char *)&anam[i - 1], (ftnlen)sizeof(doublereal));
  930.     }
  931.     e_wsfe();
  932. /*<       write (iofile,afmt3) asrci,(ai1(i),i=1,kntr) >*/
  933.     io__124.ciunit = status_1.iofile;
  934.     s_wsfe(&io__124);
  935.     do_fio(&c__1, (char *)&asrci, (ftnlen)sizeof(doublereal));
  936.     i_1 = kntr;
  937.     for (i = 1; i <= i_1; ++i) {
  938.     do_fio(&c__1, (char *)&ai1[i - 1], (ftnlen)sizeof(doublereal));
  939.     }
  940.     e_wsfe();
  941. /*<       kntr=0 >*/
  942.     kntr = 0;
  943. /*<       if ((loc.ne.0).and.(nodplc(loc+13).eq.0)) go to 130 >*/
  944.     if (loc != 0 && nodplc[loc + 12] == 0) {
  945.     goto L130;
  946.     }
  947.  
  948. /*  nonlinear voltage controlled voltage sources */
  949.  
  950. /*<   175 if (jelcnt(6).eq.0) go to 186 >*/
  951. L175:
  952.     if (cirdat_1.jelcnt[5] == 0) {
  953.     goto L186;
  954.     }
  955. /*<       ititle=0 >*/
  956.     ititle = 0;
  957. /*<   176 format(1h0,/,'0**** voltage-controlled voltage sources') >*/
  958. /* L176: */
  959. /*<       loc=locate(6) >*/
  960.     loc = cirdat_1.locate[5];
  961. /*<       kntr=0 >*/
  962.     kntr = 0;
  963. /*<   178 if ((loc.eq.0).or.(nodplc(loc+14).ne.0)) go to 182 >*/
  964. L178:
  965.     if (loc == 0 || nodplc[loc + 13] != 0) {
  966.     goto L182;
  967.     }
  968. /*<       kntr=kntr+1 >*/
  969.     ++kntr;
  970. /*<       locv=nodplc(loc+1) >*/
  971.     locv = nodplc[loc];
  972. /*<       loct=lx0+nodplc(loc+13) >*/
  973.     loct = tabinf_1.lx0 + nodplc[loc + 12];
  974. /*<       anam(kntr)=value(locv) >*/
  975.     anam[kntr - 1] = blank_1.value[locv - 1];
  976. /*<       av1(kntr)=value(loct) >*/
  977.     av1[kntr - 1] = blank_1.value[loct - 1];
  978. /*<       ai1(kntr)=value(loct+1) >*/
  979.     ai1[kntr - 1] = blank_1.value[loct];
  980. /*<       if (kntr.ge.kntlim) go to 184 >*/
  981.     if (kntr >= kntlim) {
  982.     goto L184;
  983.     }
  984. /*<   180 loc=nodplc(loc) >*/
  985. L180:
  986.     loc = nodplc[loc - 1];
  987. /*<       go to 178 >*/
  988.     goto L178;
  989. /*<   182 if (kntr.eq.0) go to 186 >*/
  990. L182:
  991.     if (kntr == 0) {
  992.     goto L186;
  993.     }
  994. /*<   184 if (ititle.eq.0) write (iofile,176) >*/
  995. L184:
  996.     if (ititle == 0) {
  997.     io__125.ciunit = status_1.iofile;
  998.     s_wsfe(&io__125);
  999.     e_wsfe();
  1000.     }
  1001. /*<       ititle=1 >*/
  1002.     ititle = 1;
  1003. /*<       write (iofile,afmt1) (anam(i),i=1,kntr) >*/
  1004.     io__126.ciunit = status_1.iofile;
  1005.     s_wsfe(&io__126);
  1006.     i_1 = kntr;
  1007.     for (i = 1; i <= i_1; ++i) {
  1008.     do_fio(&c__1, (char *)&anam[i - 1], (ftnlen)sizeof(doublereal));
  1009.     }
  1010.     e_wsfe();
  1011. /*<       write (iofile,afmt2) asrcv,(av1(i),i=1,kntr) >*/
  1012.     io__127.ciunit = status_1.iofile;
  1013.     s_wsfe(&io__127);
  1014.     do_fio(&c__1, (char *)&asrcv, (ftnlen)sizeof(doublereal));
  1015.     i_1 = kntr;
  1016.     for (i = 1; i <= i_1; ++i) {
  1017.     do_fio(&c__1, (char *)&av1[i - 1], (ftnlen)sizeof(doublereal));
  1018.     }
  1019.     e_wsfe();
  1020. /*<       write (iofile,afmt3) asrci,(ai1(i),i=1,kntr) >*/
  1021.     io__128.ciunit = status_1.iofile;
  1022.     s_wsfe(&io__128);
  1023.     do_fio(&c__1, (char *)&asrci, (ftnlen)sizeof(doublereal));
  1024.     i_1 = kntr;
  1025.     for (i = 1; i <= i_1; ++i) {
  1026.     do_fio(&c__1, (char *)&ai1[i - 1], (ftnlen)sizeof(doublereal));
  1027.     }
  1028.     e_wsfe();
  1029. /*<       kntr=0 >*/
  1030.     kntr = 0;
  1031. /*<       if ((loc.ne.0).and.(nodplc(loc+14).eq.0)) go to 180 >*/
  1032.     if (loc != 0 && nodplc[loc + 13] == 0) {
  1033.     goto L180;
  1034.     }
  1035.  
  1036. /*  nonlinear current controlled current sources */
  1037.  
  1038. /*<   186 if (jelcnt(7).eq.0) go to 196 >*/
  1039. L186:
  1040.     if (cirdat_1.jelcnt[6] == 0) {
  1041.     goto L196;
  1042.     }
  1043. /*<       ititle=0 >*/
  1044.     ititle = 0;
  1045. /*<   187 format(1h0,/,'0**** current-controlled current sources') >*/
  1046. /* L187: */
  1047. /*<       loc=locate(7) >*/
  1048.     loc = cirdat_1.locate[6];
  1049. /*<       kntr=0 >*/
  1050.     kntr = 0;
  1051. /*<   188 if ((loc.eq.0).or.(nodplc(loc+13).ne.0)) go to 192 >*/
  1052. L188:
  1053.     if (loc == 0 || nodplc[loc + 12] != 0) {
  1054.     goto L192;
  1055.     }
  1056. /*<       kntr=kntr+1 >*/
  1057.     ++kntr;
  1058. /*<       locv=nodplc(loc+1) >*/
  1059.     locv = nodplc[loc];
  1060. /*<       loct=lx0+nodplc(loc+12) >*/
  1061.     loct = tabinf_1.lx0 + nodplc[loc + 11];
  1062. /*<       anam(kntr)=value(locv) >*/
  1063.     anam[kntr - 1] = blank_1.value[locv - 1];
  1064. /*<       ai1(kntr)=value(loct) >*/
  1065.     ai1[kntr - 1] = blank_1.value[loct - 1];
  1066. /*<       if (kntr.ge.kntlim) go to 194 >*/
  1067.     if (kntr >= kntlim) {
  1068.     goto L194;
  1069.     }
  1070. /*<   190 loc=nodplc(loc) >*/
  1071. L190:
  1072.     loc = nodplc[loc - 1];
  1073. /*<       go to 188 >*/
  1074.     goto L188;
  1075. /*<   192 if (kntr.eq.0) go to 196 >*/
  1076. L192:
  1077.     if (kntr == 0) {
  1078.     goto L196;
  1079.     }
  1080. /*<   194 if (ititle.eq.0) write (iofile,187) >*/
  1081. L194:
  1082.     if (ititle == 0) {
  1083.     io__129.ciunit = status_1.iofile;
  1084.     s_wsfe(&io__129);
  1085.     e_wsfe();
  1086.     }
  1087. /*<       ititle=1 >*/
  1088.     ititle = 1;
  1089. /*<       write (iofile,afmt1) (anam(i),i=1,kntr) >*/
  1090.     io__130.ciunit = status_1.iofile;
  1091.     s_wsfe(&io__130);
  1092.     i_1 = kntr;
  1093.     for (i = 1; i <= i_1; ++i) {
  1094.     do_fio(&c__1, (char *)&anam[i - 1], (ftnlen)sizeof(doublereal));
  1095.     }
  1096.     e_wsfe();
  1097. /*<       write (iofile,afmt3) asrci,(ai1(i),i=1,kntr) >*/
  1098.     io__131.ciunit = status_1.iofile;
  1099.     s_wsfe(&io__131);
  1100.     do_fio(&c__1, (char *)&asrci, (ftnlen)sizeof(doublereal));
  1101.     i_1 = kntr;
  1102.     for (i = 1; i <= i_1; ++i) {
  1103.     do_fio(&c__1, (char *)&ai1[i - 1], (ftnlen)sizeof(doublereal));
  1104.     }
  1105.     e_wsfe();
  1106. /*<       kntr=0 >*/
  1107.     kntr = 0;
  1108. /*<       if ((loc.ne.0).and.(nodplc(loc+13).eq.0)) go to 190 >*/
  1109.     if (loc != 0 && nodplc[loc + 12] == 0) {
  1110.     goto L190;
  1111.     }
  1112.  
  1113. /*  nonlinear current controlled voltage sources */
  1114.  
  1115. /*<   196 if (jelcnt(8).eq.0) go to 210 >*/
  1116. L196:
  1117.     if (cirdat_1.jelcnt[7] == 0) {
  1118.     goto L210;
  1119.     }
  1120. /*<       ititle=0 >*/
  1121.     ititle = 0;
  1122. /*<   197 format(1h0,/,'0**** current-controlled voltage sources') >*/
  1123. /* L197: */
  1124. /*<       loc=locate(8) >*/
  1125.     loc = cirdat_1.locate[7];
  1126. /*<       kntr=0 >*/
  1127.     kntr = 0;
  1128. /*<   198 if ((loc.eq.0).or.(nodplc(loc+14).ne.0)) go to 202 >*/
  1129. L198:
  1130.     if (loc == 0 || nodplc[loc + 13] != 0) {
  1131.     goto L202;
  1132.     }
  1133. /*<       kntr=kntr+1 >*/
  1134.     ++kntr;
  1135. /*<       locv=nodplc(loc+1) >*/
  1136.     locv = nodplc[loc];
  1137. /*<       loct=lx0+nodplc(loc+13) >*/
  1138.     loct = tabinf_1.lx0 + nodplc[loc + 12];
  1139. /*<       anam(kntr)=value(locv) >*/
  1140.     anam[kntr - 1] = blank_1.value[locv - 1];
  1141. /*<       av1(kntr)=value(loct) >*/
  1142.     av1[kntr - 1] = blank_1.value[loct - 1];
  1143. /*<       ai1(kntr)=value(loct+1) >*/
  1144.     ai1[kntr - 1] = blank_1.value[loct];
  1145. /*<       if (kntr.ge.kntlim) go to 204 >*/
  1146.     if (kntr >= kntlim) {
  1147.     goto L204;
  1148.     }
  1149. /*<   200 loc=nodplc(loc) >*/
  1150. L200:
  1151.     loc = nodplc[loc - 1];
  1152. /*<       go to 198 >*/
  1153.     goto L198;
  1154. /*<   202 if (kntr.eq.0) go to 210 >*/
  1155. L202:
  1156.     if (kntr == 0) {
  1157.     goto L210;
  1158.     }
  1159. /*<   204 if (ititle.eq.0) write (iofile,197) >*/
  1160. L204:
  1161.     if (ititle == 0) {
  1162.     io__132.ciunit = status_1.iofile;
  1163.     s_wsfe(&io__132);
  1164.     e_wsfe();
  1165.     }
  1166. /*<       ititle=1 >*/
  1167.     ititle = 1;
  1168. /*<       write (iofile,afmt1) (anam(i),i=1,kntr) >*/
  1169.     io__133.ciunit = status_1.iofile;
  1170.     s_wsfe(&io__133);
  1171.     i_1 = kntr;
  1172.     for (i = 1; i <= i_1; ++i) {
  1173.     do_fio(&c__1, (char *)&anam[i - 1], (ftnlen)sizeof(doublereal));
  1174.     }
  1175.     e_wsfe();
  1176. /*<       write (iofile,afmt2) asrcv,(av1(i),i=1,kntr) >*/
  1177.     io__134.ciunit = status_1.iofile;
  1178.     s_wsfe(&io__134);
  1179.     do_fio(&c__1, (char *)&asrcv, (ftnlen)sizeof(doublereal));
  1180.     i_1 = kntr;
  1181.     for (i = 1; i <= i_1; ++i) {
  1182.     do_fio(&c__1, (char *)&av1[i - 1], (ftnlen)sizeof(doublereal));
  1183.     }
  1184.     e_wsfe();
  1185. /*<       write (iofile,afmt3) asrci,(ai1(i),i=1,kntr) >*/
  1186.     io__135.ciunit = status_1.iofile;
  1187.     s_wsfe(&io__135);
  1188.     do_fio(&c__1, (char *)&asrci, (ftnlen)sizeof(doublereal));
  1189.     i_1 = kntr;
  1190.     for (i = 1; i <= i_1; ++i) {
  1191.     do_fio(&c__1, (char *)&ai1[i - 1], (ftnlen)sizeof(doublereal));
  1192.     }
  1193.     e_wsfe();
  1194. /*<       kntr=0 >*/
  1195.     kntr = 0;
  1196. /*<       if ((loc.ne.0).and.(nodplc(loc+14).eq.0)) go to 200 >*/
  1197.     if (loc != 0 && nodplc[loc + 13] == 0) {
  1198.     goto L200;
  1199.     }
  1200.  
  1201. /*  diodes */
  1202.  
  1203. /*<   210 if (jelcnt(11).eq.0) go to 300 >*/
  1204. L210:
  1205.     if (cirdat_1.jelcnt[10] == 0) {
  1206.     goto L300;
  1207.     }
  1208. /*<       ititle=0 >*/
  1209.     ititle = 0;
  1210. /*<   211 format(1h0,/,'0**** diodes') >*/
  1211. /* L211: */
  1212. /*<       loc=locate(11) >*/
  1213.     loc = cirdat_1.locate[10];
  1214. /*<       kntr=0 >*/
  1215.     kntr = 0;
  1216. /*<   220 if ((loc.eq.0).or.(nodplc(loc+16).ne.0)) go to 240 >*/
  1217. L220:
  1218.     if (loc == 0 || nodplc[loc + 15] != 0) {
  1219.     goto L240;
  1220.     }
  1221. /*<       kntr=kntr+1 >*/
  1222.     ++kntr;
  1223. /*<       locv=nodplc(loc+1) >*/
  1224.     locv = nodplc[loc];
  1225. /*<       node1=nodplc(loc+2) >*/
  1226.     node1 = nodplc[loc + 1];
  1227. /*<       node2=nodplc(loc+3) >*/
  1228.     node2 = nodplc[loc + 2];
  1229. /*<       locm=nodplc(loc+5) >*/
  1230.     locm = nodplc[loc + 4];
  1231. /*<       locm=nodplc(locm+1) >*/
  1232.     locm = nodplc[locm];
  1233. /*<       loct=lx0+nodplc(loc+11) >*/
  1234.     loct = tabinf_1.lx0 + nodplc[loc + 10];
  1235. /*<       anam(kntr)=value(locv) >*/
  1236.     anam[kntr - 1] = blank_1.value[locv - 1];
  1237. /*<       amod(kntr)=value(locm) >*/
  1238.     amod[kntr - 1] = blank_1.value[locm - 1];
  1239. /*<       cd(kntr)=value(loct+1) >*/
  1240.     cd[kntr - 1] = blank_1.value[loct];
  1241. /*<       vd(kntr)=value(lvnim1+node1)-value(lvnim1+node2) >*/
  1242.     vd[kntr - 1] = blank_1.value[tabinf_1.lvnim1 + node1 - 1] - blank_1.value[
  1243.         tabinf_1.lvnim1 + node2 - 1];
  1244. /*<       if (modedc.ne.1) go to 225 >*/
  1245.     if (status_1.modedc != 1) {
  1246.     goto L225;
  1247.     }
  1248. /*<       req(kntr)=1.0d0/value(loct+2) >*/
  1249.     req[kntr - 1] = 1. / blank_1.value[loct + 1];
  1250. /*<       cap(kntr)=value(loct+4) >*/
  1251.     cap[kntr - 1] = blank_1.value[loct + 3];
  1252. /*<   225 if (kntr.ge.kntlim) go to 250 >*/
  1253. L225:
  1254.     if (kntr >= kntlim) {
  1255.     goto L250;
  1256.     }
  1257. /*<   230 loc=nodplc(loc) >*/
  1258. L230:
  1259.     loc = nodplc[loc - 1];
  1260. /*<       go to 220 >*/
  1261.     goto L220;
  1262. /*<   240 if (kntr.eq.0) go to 300 >*/
  1263. L240:
  1264.     if (kntr == 0) {
  1265.     goto L300;
  1266.     }
  1267. /*<   250 if (ititle.eq.0) write (iofile,211) >*/
  1268. L250:
  1269.     if (ititle == 0) {
  1270.     io__138.ciunit = status_1.iofile;
  1271.     s_wsfe(&io__138);
  1272.     e_wsfe();
  1273.     }
  1274. /*<       ititle=1 >*/
  1275.     ititle = 1;
  1276. /*<       write (iofile,afmt1) (anam(i),i=1,kntr) >*/
  1277.     io__139.ciunit = status_1.iofile;
  1278.     s_wsfe(&io__139);
  1279.     i_1 = kntr;
  1280.     for (i = 1; i <= i_1; ++i) {
  1281.     do_fio(&c__1, (char *)&anam[i - 1], (ftnlen)sizeof(doublereal));
  1282.     }
  1283.     e_wsfe();
  1284. /*<       write (iofile,afmt4) (amod(i),i=1,kntr) >*/
  1285.     io__140.ciunit = status_1.iofile;
  1286.     s_wsfe(&io__140);
  1287.     i_1 = kntr;
  1288.     for (i = 1; i <= i_1; ++i) {
  1289.     do_fio(&c__1, (char *)&amod[i - 1], (ftnlen)sizeof(doublereal));
  1290.     }
  1291.     e_wsfe();
  1292. /*<       write (iofile,afmt3) aid,(cd(i),i=1,kntr) >*/
  1293.     io__141.ciunit = status_1.iofile;
  1294.     s_wsfe(&io__141);
  1295.     do_fio(&c__1, (char *)&aid, (ftnlen)sizeof(doublereal));
  1296.     i_1 = kntr;
  1297.     for (i = 1; i <= i_1; ++i) {
  1298.     do_fio(&c__1, (char *)&cd[i - 1], (ftnlen)sizeof(doublereal));
  1299.     }
  1300.     e_wsfe();
  1301. /*<       write (iofile,afmt2) avd,(vd(i),i=1,kntr) >*/
  1302.     io__142.ciunit = status_1.iofile;
  1303.     s_wsfe(&io__142);
  1304.     do_fio(&c__1, (char *)&avd, (ftnlen)sizeof(doublereal));
  1305.     i_1 = kntr;
  1306.     for (i = 1; i <= i_1; ++i) {
  1307.     do_fio(&c__1, (char *)&vd[i - 1], (ftnlen)sizeof(doublereal));
  1308.     }
  1309.     e_wsfe();
  1310. /*<       if (modedc.ne.1) go to 260 >*/
  1311.     if (status_1.modedc != 1) {
  1312.     goto L260;
  1313.     }
  1314. /*<       write (iofile,afmt3) areq,(req(i),i=1,kntr) >*/
  1315.     io__143.ciunit = status_1.iofile;
  1316.     s_wsfe(&io__143);
  1317.     do_fio(&c__1, (char *)&areq, (ftnlen)sizeof(doublereal));
  1318.     i_1 = kntr;
  1319.     for (i = 1; i <= i_1; ++i) {
  1320.     do_fio(&c__1, (char *)&req[i - 1], (ftnlen)sizeof(doublereal));
  1321.     }
  1322.     e_wsfe();
  1323. /*<       write (iofile,afmt3) acap,(cap(i),i=1,kntr) >*/
  1324.     io__144.ciunit = status_1.iofile;
  1325.     s_wsfe(&io__144);
  1326.     do_fio(&c__1, (char *)&acap, (ftnlen)sizeof(doublereal));
  1327.     i_1 = kntr;
  1328.     for (i = 1; i <= i_1; ++i) {
  1329.     do_fio(&c__1, (char *)&cap[i - 1], (ftnlen)sizeof(doublereal));
  1330.     }
  1331.     e_wsfe();
  1332. /*<   260 kntr=0 >*/
  1333. L260:
  1334.     kntr = 0;
  1335. /*<       if ((loc.ne.0).and.(nodplc(loc+16).eq.0)) go to 230 >*/
  1336.     if (loc != 0 && nodplc[loc + 15] == 0) {
  1337.     goto L230;
  1338.     }
  1339.  
  1340. /*  bipolar junction transistors */
  1341.  
  1342. /*<   300 if (jelcnt(12).eq.0) go to 400 >*/
  1343. L300:
  1344.     if (cirdat_1.jelcnt[11] == 0) {
  1345.     goto L400;
  1346.     }
  1347. /*<       ititle=0 >*/
  1348.     ititle = 0;
  1349. /*<   301 format(1h0,/,'0**** bipolar junction transistors') >*/
  1350. /* L301: */
  1351. /*<       loc=locate(12) >*/
  1352.     loc = cirdat_1.locate[11];
  1353. /*<       kntr=0 >*/
  1354.     kntr = 0;
  1355. /*<   320 if ((loc.eq.0).or.(nodplc(loc+36).ne.0)) go to 340 >*/
  1356. L320:
  1357.     if (loc == 0 || nodplc[loc + 35] != 0) {
  1358.     goto L340;
  1359.     }
  1360. /*<       kntr=kntr+1 >*/
  1361.     ++kntr;
  1362. /*<       locv=nodplc(loc+1) >*/
  1363.     locv = nodplc[loc];
  1364. /*<       node1=nodplc(loc+2) >*/
  1365.     node1 = nodplc[loc + 1];
  1366. /*<       node2=nodplc(loc+3) >*/
  1367.     node2 = nodplc[loc + 2];
  1368. /*<       node3=nodplc(loc+4) >*/
  1369.     node3 = nodplc[loc + 3];
  1370. /*<       locm=nodplc(loc+8) >*/
  1371.     locm = nodplc[loc + 7];
  1372. /*<       type=nodplc(locm+2) >*/
  1373.     type = (doublereal) nodplc[locm + 1];
  1374. /*<       locm=nodplc(locm+1) >*/
  1375.     locm = nodplc[locm];
  1376. /*<       loct=lx0+nodplc(loc+22) >*/
  1377.     loct = tabinf_1.lx0 + nodplc[loc + 21];
  1378. /*<       anam(kntr)=value(locv) >*/
  1379.     anam[kntr - 1] = blank_1.value[locv - 1];
  1380. /*<       amod(kntr)=value(locm) >*/
  1381.     amod[kntr - 1] = blank_1.value[locm - 1];
  1382. /*<       cb(kntr)=type*value(loct+3) >*/
  1383.     cb[kntr - 1] = type * blank_1.value[loct + 2];
  1384. /*<       cc(kntr)=type*value(loct+2) >*/
  1385.     cc[kntr - 1] = type * blank_1.value[loct + 1];
  1386. /*<       vbe(kntr)=value(lvnim1+node2)-value(lvnim1+node3) >*/
  1387.     vbe[kntr - 1] = blank_1.value[tabinf_1.lvnim1 + node2 - 1] - 
  1388.         blank_1.value[tabinf_1.lvnim1 + node3 - 1];
  1389. /*<       vbc(kntr)=value(lvnim1+node2)-value(lvnim1+node1) >*/
  1390.     vbc[kntr - 1] = blank_1.value[tabinf_1.lvnim1 + node2 - 1] - 
  1391.         blank_1.value[tabinf_1.lvnim1 + node1 - 1];
  1392. /*<       vce(kntr)=vbe(kntr)-vbc(kntr) >*/
  1393.     vce[kntr - 1] = vbe[kntr - 1] - vbc[kntr - 1];
  1394. /*<       betadc(kntr)=cc(kntr)/dsign(dmax1(dabs(cb(kntr)),1.0d-20), >*/
  1395. /*<      1  cb(kntr)) >*/
  1396. /* Computing MAX */
  1397.     d_3 = (d_1 = cb[kntr - 1], abs(d_1));
  1398.     d_2 = max(1e-20,d_3);
  1399.     betadc[kntr - 1] = cc[kntr - 1] / d_sign(&d_2, &cb[kntr - 1]);
  1400. /*<       if (modedc.ne.1) go to 325 >*/
  1401.     if (status_1.modedc != 1) {
  1402.     goto L325;
  1403.     }
  1404. /*<       rx(kntr)=0.0d0 >*/
  1405.     rx[kntr - 1] = 0.;
  1406. /*<       if(value(loct+16).ne.0.0d0) rx(kntr)=1.0d0/value(loct+16) >*/
  1407.     if (blank_1.value[loct + 15] != 0.) {
  1408.     rx[kntr - 1] = 1. / blank_1.value[loct + 15];
  1409.     }
  1410. /*<       ccs(kntr)=value(loct+13) >*/
  1411.     ccs[kntr - 1] = blank_1.value[loct + 12];
  1412. /*<       cbx(kntr)=value(loct+15) >*/
  1413.     cbx[kntr - 1] = blank_1.value[loct + 14];
  1414. /*<       rpi(kntr)=1.0d0/value(loct+4) >*/
  1415.     rpi[kntr - 1] = 1. / blank_1.value[loct + 3];
  1416. /*<       gm(kntr)=value(loct+6) >*/
  1417.     gm[kntr - 1] = blank_1.value[loct + 5];
  1418. /*<       ro(kntr)=1.0d0/value(loct+7) >*/
  1419.     ro[kntr - 1] = 1. / blank_1.value[loct + 6];
  1420. /*<       cpi(kntr)=value(loct+9) >*/
  1421.     cpi[kntr - 1] = blank_1.value[loct + 8];
  1422. /*<       cmu(kntr)=value(loct+11) >*/
  1423.     cmu[kntr - 1] = blank_1.value[loct + 10];
  1424. /*<       betaac(kntr)=gm(kntr)*rpi(kntr) >*/
  1425.     betaac[kntr - 1] = gm[kntr - 1] * rpi[kntr - 1];
  1426. /*<       ft(kntr)=gm(kntr)/(twopi*dmax1(cpi(kntr)+cmu(kntr)+cbx(kntr), >*/
  1427. /*<      1  1.0d-20)) >*/
  1428. /* Computing MAX */
  1429.     d_1 = cpi[kntr - 1] + cmu[kntr - 1] + cbx[kntr - 1];
  1430.     ft[kntr - 1] = gm[kntr - 1] / (knstnt_1.twopi * max(1e-20,d_1));
  1431. /*<   325 if (kntr.ge.kntlim) go to 350 >*/
  1432. L325:
  1433.     if (kntr >= kntlim) {
  1434.     goto L350;
  1435.     }
  1436. /*<   330 loc=nodplc(loc) >*/
  1437. L330:
  1438.     loc = nodplc[loc - 1];
  1439. /*<       go to 320 >*/
  1440.     goto L320;
  1441. /*<   340 if (kntr.eq.0) go to 400 >*/
  1442. L340:
  1443.     if (kntr == 0) {
  1444.     goto L400;
  1445.     }
  1446. /*<   350 if (ititle.eq.0) write (iofile,301) >*/
  1447. L350:
  1448.     if (ititle == 0) {
  1449.     io__148.ciunit = status_1.iofile;
  1450.     s_wsfe(&io__148);
  1451.     e_wsfe();
  1452.     }
  1453. /*<       ititle=1 >*/
  1454.     ititle = 1;
  1455. /*<       write (iofile,afmt1) (anam(i),i=1,kntr) >*/
  1456.     io__149.ciunit = status_1.iofile;
  1457.     s_wsfe(&io__149);
  1458.     i_1 = kntr;
  1459.     for (i = 1; i <= i_1; ++i) {
  1460.     do_fio(&c__1, (char *)&anam[i - 1], (ftnlen)sizeof(doublereal));
  1461.     }
  1462.     e_wsfe();
  1463. /*<       write (iofile,afmt4) (amod(i),i=1,kntr) >*/
  1464.     io__150.ciunit = status_1.iofile;
  1465.     s_wsfe(&io__150);
  1466.     i_1 = kntr;
  1467.     for (i = 1; i <= i_1; ++i) {
  1468.     do_fio(&c__1, (char *)&amod[i - 1], (ftnlen)sizeof(doublereal));
  1469.     }
  1470.     e_wsfe();
  1471. /*<       write (iofile,afmt3) aib,(cb(i),i=1,kntr) >*/
  1472.     io__151.ciunit = status_1.iofile;
  1473.     s_wsfe(&io__151);
  1474.     do_fio(&c__1, (char *)&aib, (ftnlen)sizeof(doublereal));
  1475.     i_1 = kntr;
  1476.     for (i = 1; i <= i_1; ++i) {
  1477.     do_fio(&c__1, (char *)&cb[i - 1], (ftnlen)sizeof(doublereal));
  1478.     }
  1479.     e_wsfe();
  1480. /*<       write (iofile,afmt3) aic,(cc(i),i=1,kntr) >*/
  1481.     io__152.ciunit = status_1.iofile;
  1482.     s_wsfe(&io__152);
  1483.     do_fio(&c__1, (char *)&aic, (ftnlen)sizeof(doublereal));
  1484.     i_1 = kntr;
  1485.     for (i = 1; i <= i_1; ++i) {
  1486.     do_fio(&c__1, (char *)&cc[i - 1], (ftnlen)sizeof(doublereal));
  1487.     }
  1488.     e_wsfe();
  1489. /*<       write (iofile,afmt2) avbe,(vbe(i),i=1,kntr) >*/
  1490.     io__153.ciunit = status_1.iofile;
  1491.     s_wsfe(&io__153);
  1492.     do_fio(&c__1, (char *)&avbe, (ftnlen)sizeof(doublereal));
  1493.     i_1 = kntr;
  1494.     for (i = 1; i <= i_1; ++i) {
  1495.     do_fio(&c__1, (char *)&vbe[i - 1], (ftnlen)sizeof(doublereal));
  1496.     }
  1497.     e_wsfe();
  1498. /*<       write (iofile,afmt2) avbc,(vbc(i),i=1,kntr) >*/
  1499.     io__154.ciunit = status_1.iofile;
  1500.     s_wsfe(&io__154);
  1501.     do_fio(&c__1, (char *)&avbc, (ftnlen)sizeof(doublereal));
  1502.     i_1 = kntr;
  1503.     for (i = 1; i <= i_1; ++i) {
  1504.     do_fio(&c__1, (char *)&vbc[i - 1], (ftnlen)sizeof(doublereal));
  1505.     }
  1506.     e_wsfe();
  1507. /*<       write (iofile,afmt2) avce,(vce(i),i=1,kntr) >*/
  1508.     io__155.ciunit = status_1.iofile;
  1509.     s_wsfe(&io__155);
  1510.     do_fio(&c__1, (char *)&avce, (ftnlen)sizeof(doublereal));
  1511.     i_1 = kntr;
  1512.     for (i = 1; i <= i_1; ++i) {
  1513.     do_fio(&c__1, (char *)&vce[i - 1], (ftnlen)sizeof(doublereal));
  1514.     }
  1515.     e_wsfe();
  1516. /*<       write (iofile,afmt2) abetad,(betadc(i),i=1,kntr) >*/
  1517.     io__156.ciunit = status_1.iofile;
  1518.     s_wsfe(&io__156);
  1519.     do_fio(&c__1, (char *)&abetad, (ftnlen)sizeof(doublereal));
  1520.     i_1 = kntr;
  1521.     for (i = 1; i <= i_1; ++i) {
  1522.     do_fio(&c__1, (char *)&betadc[i - 1], (ftnlen)sizeof(doublereal));
  1523.     }
  1524.     e_wsfe();
  1525. /*<       if (modedc.ne.1) go to 360 >*/
  1526.     if (status_1.modedc != 1) {
  1527.     goto L360;
  1528.     }
  1529. /*<       write (iofile,afmt3) agm,(gm(i),i=1,kntr) >*/
  1530.     io__157.ciunit = status_1.iofile;
  1531.     s_wsfe(&io__157);
  1532.     do_fio(&c__1, (char *)&agm, (ftnlen)sizeof(doublereal));
  1533.     i_1 = kntr;
  1534.     for (i = 1; i <= i_1; ++i) {
  1535.     do_fio(&c__1, (char *)&gm[i - 1], (ftnlen)sizeof(doublereal));
  1536.     }
  1537.     e_wsfe();
  1538. /*<       write (iofile,afmt3) arpi,(rpi(i),i=1,kntr) >*/
  1539.     io__158.ciunit = status_1.iofile;
  1540.     s_wsfe(&io__158);
  1541.     do_fio(&c__1, (char *)&arpi, (ftnlen)sizeof(doublereal));
  1542.     i_1 = kntr;
  1543.     for (i = 1; i <= i_1; ++i) {
  1544.     do_fio(&c__1, (char *)&rpi[i - 1], (ftnlen)sizeof(doublereal));
  1545.     }
  1546.     e_wsfe();
  1547. /*<       write (iofile,afmt3) arx,(rx(i),i=1,kntr) >*/
  1548.     io__159.ciunit = status_1.iofile;
  1549.     s_wsfe(&io__159);
  1550.     do_fio(&c__1, (char *)&arx, (ftnlen)sizeof(doublereal));
  1551.     i_1 = kntr;
  1552.     for (i = 1; i <= i_1; ++i) {
  1553.     do_fio(&c__1, (char *)&rx[i - 1], (ftnlen)sizeof(doublereal));
  1554.     }
  1555.     e_wsfe();
  1556. /*<       write (iofile,afmt3) aro,(ro(i),i=1,kntr) >*/
  1557.     io__160.ciunit = status_1.iofile;
  1558.     s_wsfe(&io__160);
  1559.     do_fio(&c__1, (char *)&aro, (ftnlen)sizeof(doublereal));
  1560.     i_1 = kntr;
  1561.     for (i = 1; i <= i_1; ++i) {
  1562.     do_fio(&c__1, (char *)&ro[i - 1], (ftnlen)sizeof(doublereal));
  1563.     }
  1564.     e_wsfe();
  1565. /*<       write (iofile,afmt3) acpi,(cpi(i),i=1,kntr) >*/
  1566.     io__161.ciunit = status_1.iofile;
  1567.     s_wsfe(&io__161);
  1568.     do_fio(&c__1, (char *)&acpi, (ftnlen)sizeof(doublereal));
  1569.     i_1 = kntr;
  1570.     for (i = 1; i <= i_1; ++i) {
  1571.     do_fio(&c__1, (char *)&cpi[i - 1], (ftnlen)sizeof(doublereal));
  1572.     }
  1573.     e_wsfe();
  1574. /*<       write (iofile,afmt3) acmu,(cmu(i),i=1,kntr) >*/
  1575.     io__162.ciunit = status_1.iofile;
  1576.     s_wsfe(&io__162);
  1577.     do_fio(&c__1, (char *)&acmu, (ftnlen)sizeof(doublereal));
  1578.     i_1 = kntr;
  1579.     for (i = 1; i <= i_1; ++i) {
  1580.     do_fio(&c__1, (char *)&cmu[i - 1], (ftnlen)sizeof(doublereal));
  1581.     }
  1582.     e_wsfe();
  1583. /*<       write (iofile,afmt3) acbx,(cbx(i),i=1,kntr) >*/
  1584.     io__163.ciunit = status_1.iofile;
  1585.     s_wsfe(&io__163);
  1586.     do_fio(&c__1, (char *)&acbx, (ftnlen)sizeof(doublereal));
  1587.     i_1 = kntr;
  1588.     for (i = 1; i <= i_1; ++i) {
  1589.     do_fio(&c__1, (char *)&cbx[i - 1], (ftnlen)sizeof(doublereal));
  1590.     }
  1591.     e_wsfe();
  1592. /*<       write (iofile,afmt3) accs,(ccs(i),i=1,kntr) >*/
  1593.     io__164.ciunit = status_1.iofile;
  1594.     s_wsfe(&io__164);
  1595.     do_fio(&c__1, (char *)&accs, (ftnlen)sizeof(doublereal));
  1596.     i_1 = kntr;
  1597.     for (i = 1; i <= i_1; ++i) {
  1598.     do_fio(&c__1, (char *)&ccs[i - 1], (ftnlen)sizeof(doublereal));
  1599.     }
  1600.     e_wsfe();
  1601. /*<       write (iofile,afmt2) abetaa,(betaac(i),i=1,kntr) >*/
  1602.     io__165.ciunit = status_1.iofile;
  1603.     s_wsfe(&io__165);
  1604.     do_fio(&c__1, (char *)&abetaa, (ftnlen)sizeof(doublereal));
  1605.     i_1 = kntr;
  1606.     for (i = 1; i <= i_1; ++i) {
  1607.     do_fio(&c__1, (char *)&betaac[i - 1], (ftnlen)sizeof(doublereal));
  1608.     }
  1609.     e_wsfe();
  1610. /*<       write (iofile,afmt3) aft,(ft(i),i=1,kntr) >*/
  1611.     io__166.ciunit = status_1.iofile;
  1612.     s_wsfe(&io__166);
  1613.     do_fio(&c__1, (char *)&aft, (ftnlen)sizeof(doublereal));
  1614.     i_1 = kntr;
  1615.     for (i = 1; i <= i_1; ++i) {
  1616.     do_fio(&c__1, (char *)&ft[i - 1], (ftnlen)sizeof(doublereal));
  1617.     }
  1618.     e_wsfe();
  1619. /*<   360 kntr=0 >*/
  1620. L360:
  1621.     kntr = 0;
  1622. /*<       if ((loc.ne.0).and.(nodplc(loc+36).eq.0)) go to 330 >*/
  1623.     if (loc != 0 && nodplc[loc + 35] == 0) {
  1624.     goto L330;
  1625.     }
  1626.  
  1627. /*  jfets */
  1628.  
  1629. /*<   400 if (jelcnt(13).eq.0) go to 500 >*/
  1630. L400:
  1631.     if (cirdat_1.jelcnt[12] == 0) {
  1632.     goto L500;
  1633.     }
  1634. /*<       ititle=0 >*/
  1635.     ititle = 0;
  1636. /*<   401 format(1h0,/,'0**** jfets') >*/
  1637. /* L401: */
  1638. /*<       loc=locate(13) >*/
  1639.     loc = cirdat_1.locate[12];
  1640. /*<       kntr=0 >*/
  1641.     kntr = 0;
  1642. /*<   420 if ((loc.eq.0).or.(nodplc(loc+25).ne.0)) go to 440 >*/
  1643. L420:
  1644.     if (loc == 0 || nodplc[loc + 24] != 0) {
  1645.     goto L440;
  1646.     }
  1647. /*<       kntr=kntr+1 >*/
  1648.     ++kntr;
  1649. /*<       locv=nodplc(loc+1) >*/
  1650.     locv = nodplc[loc];
  1651. /*<       node1=nodplc(loc+2) >*/
  1652.     node1 = nodplc[loc + 1];
  1653. /*<       node2=nodplc(loc+3) >*/
  1654.     node2 = nodplc[loc + 2];
  1655. /*<       node3=nodplc(loc+4) >*/
  1656.     node3 = nodplc[loc + 3];
  1657. /*<       locm=nodplc(loc+7) >*/
  1658.     locm = nodplc[loc + 6];
  1659. /*<       type=nodplc(locm+2) >*/
  1660.     type = (doublereal) nodplc[locm + 1];
  1661. /*<       locm=nodplc(locm+1) >*/
  1662.     locm = nodplc[locm];
  1663. /*<       loct=lx0+nodplc(loc+19) >*/
  1664.     loct = tabinf_1.lx0 + nodplc[loc + 18];
  1665. /*<       anam(kntr)=value(locv) >*/
  1666.     anam[kntr - 1] = blank_1.value[locv - 1];
  1667. /*<       amod(kntr)=value(locm) >*/
  1668.     amod[kntr - 1] = blank_1.value[locm - 1];
  1669. /*<       cd(kntr)=type*(value(loct+3)-value(loct+4)) >*/
  1670.     cd[kntr - 1] = type * (blank_1.value[loct + 2] - blank_1.value[loct + 3]);
  1671.  
  1672. /*<       vgs(kntr)=value(lvnim1+node2)-value(lvnim1+node3) >*/
  1673.     vgs[kntr - 1] = blank_1.value[tabinf_1.lvnim1 + node2 - 1] - 
  1674.         blank_1.value[tabinf_1.lvnim1 + node3 - 1];
  1675. /*<       vds(kntr)=value(lvnim1+node1)-value(lvnim1+node3) >*/
  1676.     vds[kntr - 1] = blank_1.value[tabinf_1.lvnim1 + node1 - 1] - 
  1677.         blank_1.value[tabinf_1.lvnim1 + node3 - 1];
  1678. /*<       if (modedc.ne.1) go to 425 >*/
  1679.     if (status_1.modedc != 1) {
  1680.     goto L425;
  1681.     }
  1682. /*<       gm(kntr)=value(loct+5) >*/
  1683.     gm[kntr - 1] = blank_1.value[loct + 4];
  1684. /*<       gds(kntr)=value(loct+6) >*/
  1685.     gds[kntr - 1] = blank_1.value[loct + 5];
  1686. /*<       cgs(kntr)=value(loct+9) >*/
  1687.     cgs[kntr - 1] = blank_1.value[loct + 8];
  1688. /*<       cgd(kntr)=value(loct+11) >*/
  1689.     cgd[kntr - 1] = blank_1.value[loct + 10];
  1690. /*<   425 if (kntr.ge.kntlim) go to 450 >*/
  1691. L425:
  1692.     if (kntr >= kntlim) {
  1693.     goto L450;
  1694.     }
  1695. /*<   430 loc=nodplc(loc) >*/
  1696. L430:
  1697.     loc = nodplc[loc - 1];
  1698. /*<       go to 420 >*/
  1699.     goto L420;
  1700. /*<   440 if (kntr.eq.0) go to 500 >*/
  1701. L440:
  1702.     if (kntr == 0) {
  1703.     goto L500;
  1704.     }
  1705. /*<   450 if (ititle.eq.0) write (iofile,401) >*/
  1706. L450:
  1707.     if (ititle == 0) {
  1708.     io__167.ciunit = status_1.iofile;
  1709.     s_wsfe(&io__167);
  1710.     e_wsfe();
  1711.     }
  1712. /*<       ititle=1 >*/
  1713.     ititle = 1;
  1714. /*<       write (iofile,afmt1) (anam(i),i=1,kntr) >*/
  1715.     io__168.ciunit = status_1.iofile;
  1716.     s_wsfe(&io__168);
  1717.     i_1 = kntr;
  1718.     for (i = 1; i <= i_1; ++i) {
  1719.     do_fio(&c__1, (char *)&anam[i - 1], (ftnlen)sizeof(doublereal));
  1720.     }
  1721.     e_wsfe();
  1722. /*<       write (iofile,afmt4) (amod(i),i=1,kntr) >*/
  1723.     io__169.ciunit = status_1.iofile;
  1724.     s_wsfe(&io__169);
  1725.     i_1 = kntr;
  1726.     for (i = 1; i <= i_1; ++i) {
  1727.     do_fio(&c__1, (char *)&amod[i - 1], (ftnlen)sizeof(doublereal));
  1728.     }
  1729.     e_wsfe();
  1730. /*<       write (iofile,afmt3) aid,(cd(i),i=1,kntr) >*/
  1731.     io__170.ciunit = status_1.iofile;
  1732.     s_wsfe(&io__170);
  1733.     do_fio(&c__1, (char *)&aid, (ftnlen)sizeof(doublereal));
  1734.     i_1 = kntr;
  1735.     for (i = 1; i <= i_1; ++i) {
  1736.     do_fio(&c__1, (char *)&cd[i - 1], (ftnlen)sizeof(doublereal));
  1737.     }
  1738.     e_wsfe();
  1739. /*<       write (iofile,afmt2) avgs,(vgs(i),i=1,kntr) >*/
  1740.     io__171.ciunit = status_1.iofile;
  1741.     s_wsfe(&io__171);
  1742.     do_fio(&c__1, (char *)&avgs, (ftnlen)sizeof(doublereal));
  1743.     i_1 = kntr;
  1744.     for (i = 1; i <= i_1; ++i) {
  1745.     do_fio(&c__1, (char *)&vgs[i - 1], (ftnlen)sizeof(doublereal));
  1746.     }
  1747.     e_wsfe();
  1748. /*<       write (iofile,afmt2) avds,(vds(i),i=1,kntr) >*/
  1749.     io__172.ciunit = status_1.iofile;
  1750.     s_wsfe(&io__172);
  1751.     do_fio(&c__1, (char *)&avds, (ftnlen)sizeof(doublereal));
  1752.     i_1 = kntr;
  1753.     for (i = 1; i <= i_1; ++i) {
  1754.     do_fio(&c__1, (char *)&vds[i - 1], (ftnlen)sizeof(doublereal));
  1755.     }
  1756.     e_wsfe();
  1757. /*<       if (modedc.ne.1) go to 460 >*/
  1758.     if (status_1.modedc != 1) {
  1759.     goto L460;
  1760.     }
  1761. /*<       write (iofile,afmt3) agm,(gm(i),i=1,kntr) >*/
  1762.     io__173.ciunit = status_1.iofile;
  1763.     s_wsfe(&io__173);
  1764.     do_fio(&c__1, (char *)&agm, (ftnlen)sizeof(doublereal));
  1765.     i_1 = kntr;
  1766.     for (i = 1; i <= i_1; ++i) {
  1767.     do_fio(&c__1, (char *)&gm[i - 1], (ftnlen)sizeof(doublereal));
  1768.     }
  1769.     e_wsfe();
  1770. /*<       write (iofile,afmt3) agds,(gds(i),i=1,kntr) >*/
  1771.     io__174.ciunit = status_1.iofile;
  1772.     s_wsfe(&io__174);
  1773.     do_fio(&c__1, (char *)&agds, (ftnlen)sizeof(doublereal));
  1774.     i_1 = kntr;
  1775.     for (i = 1; i <= i_1; ++i) {
  1776.     do_fio(&c__1, (char *)&gds[i - 1], (ftnlen)sizeof(doublereal));
  1777.     }
  1778.     e_wsfe();
  1779. /*<       write (iofile,afmt3) acgs,(cgs(i),i=1,kntr) >*/
  1780.     io__175.ciunit = status_1.iofile;
  1781.     s_wsfe(&io__175);
  1782.     do_fio(&c__1, (char *)&acgs, (ftnlen)sizeof(doublereal));
  1783.     i_1 = kntr;
  1784.     for (i = 1; i <= i_1; ++i) {
  1785.     do_fio(&c__1, (char *)&cgs[i - 1], (ftnlen)sizeof(doublereal));
  1786.     }
  1787.     e_wsfe();
  1788. /*<       write (iofile,afmt3) acgd,(cgd(i),i=1,kntr) >*/
  1789.     io__176.ciunit = status_1.iofile;
  1790.     s_wsfe(&io__176);
  1791.     do_fio(&c__1, (char *)&acgd, (ftnlen)sizeof(doublereal));
  1792.     i_1 = kntr;
  1793.     for (i = 1; i <= i_1; ++i) {
  1794.     do_fio(&c__1, (char *)&cgd[i - 1], (ftnlen)sizeof(doublereal));
  1795.     }
  1796.     e_wsfe();
  1797. /*<   460 kntr=0 >*/
  1798. L460:
  1799.     kntr = 0;
  1800. /*<       if ((loc.ne.0).and.(nodplc(loc+25).eq.0)) go to 430 >*/
  1801.     if (loc != 0 && nodplc[loc + 24] == 0) {
  1802.     goto L430;
  1803.     }
  1804.  
  1805. /*  mosfets */
  1806.  
  1807. /*<   500 if (jelcnt(14).eq.0) go to 600 >*/
  1808. L500:
  1809.     if (cirdat_1.jelcnt[13] == 0) {
  1810.     goto L600;
  1811.     }
  1812. /*<       ititle=0 >*/
  1813.     ititle = 0;
  1814. /*<   501 format(1h0,/,'0**** mosfets') >*/
  1815. /* L501: */
  1816. /*<       loc=locate(14) >*/
  1817.     loc = cirdat_1.locate[13];
  1818. /*<       kntr=0 >*/
  1819.     kntr = 0;
  1820. /*<   520 if ((loc.eq.0).or.(nodplc(loc+33).ne.0)) go to 540 >*/
  1821. L520:
  1822.     if (loc == 0 || nodplc[loc + 32] != 0) {
  1823.     goto L540;
  1824.     }
  1825. /*<       kntr=kntr+1 >*/
  1826.     ++kntr;
  1827. /*<       locv=nodplc(loc+1) >*/
  1828.     locv = nodplc[loc];
  1829. /*<       node1=nodplc(loc+2) >*/
  1830.     node1 = nodplc[loc + 1];
  1831. /*<       node2=nodplc(loc+3) >*/
  1832.     node2 = nodplc[loc + 2];
  1833. /*<       node3=nodplc(loc+4) >*/
  1834.     node3 = nodplc[loc + 3];
  1835. /*<       node4=nodplc(loc+5) >*/
  1836.     node4 = nodplc[loc + 4];
  1837. /*<       node5=nodplc(loc+6) >*/
  1838.     node5 = nodplc[loc + 5];
  1839. /*<       node6=nodplc(loc+7) >*/
  1840.     node6 = nodplc[loc + 6];
  1841. /*<       locm=nodplc(loc+8) >*/
  1842.     locm = nodplc[loc + 7];
  1843. /*<       type=nodplc(locm+2) >*/
  1844.     type = (doublereal) nodplc[locm + 1];
  1845. /*<       locm=nodplc(locm+1) >*/
  1846.     locm = nodplc[locm];
  1847. /*<       loct=lx0+nodplc(loc+26) >*/
  1848.     loct = tabinf_1.lx0 + nodplc[loc + 25];
  1849. /*<       anam(kntr)=value(locv) >*/
  1850.     anam[kntr - 1] = blank_1.value[locv - 1];
  1851. /*<       amod(kntr)=value(locm) >*/
  1852.     amod[kntr - 1] = blank_1.value[locm - 1];
  1853. /*<       cd(kntr)=type*value(loct+4) >*/
  1854.     cd[kntr - 1] = type * blank_1.value[loct + 3];
  1855. /*<       vgs(kntr)=value(lvnim1+node2)-value(lvnim1+node3) >*/
  1856.     vgs[kntr - 1] = blank_1.value[tabinf_1.lvnim1 + node2 - 1] - 
  1857.         blank_1.value[tabinf_1.lvnim1 + node3 - 1];
  1858. /*<       vds(kntr)=value(lvnim1+node1)-value(lvnim1+node3) >*/
  1859.     vds[kntr - 1] = blank_1.value[tabinf_1.lvnim1 + node1 - 1] - 
  1860.         blank_1.value[tabinf_1.lvnim1 + node3 - 1];
  1861. /*<       vbs(kntr)=value(lvnim1+node4)-value(lvnim1+node3) >*/
  1862.     vbs[kntr - 1] = blank_1.value[tabinf_1.lvnim1 + node4 - 1] - 
  1863.         blank_1.value[tabinf_1.lvnim1 + node3 - 1];
  1864. /*<       if (modedc.ne.1) go to 525 >*/
  1865.     if (status_1.modedc != 1) {
  1866.     goto L525;
  1867.     }
  1868. /*<       xl=value(locv+1)-2.0d0*value(locm+28) >*/
  1869.     xl = blank_1.value[locv] - blank_1.value[locm + 27] * 2.;
  1870. /*<       xw=value(locv+2) >*/
  1871.     xw = blank_1.value[locv + 1];
  1872. /*<       covlgs=value(locm+13)*xw >*/
  1873.     covlgs = blank_1.value[locm + 12] * xw;
  1874. /*<       covlgd=value(locm+14)*xw >*/
  1875.     covlgd = blank_1.value[locm + 13] * xw;
  1876. /*<       covlgb=value(locm+15)*xl >*/
  1877.     covlgb = blank_1.value[locm + 14] * xl;
  1878. /*<       xqco=value(locm+35) >*/
  1879.     xqco = blank_1.value[locm + 34];
  1880. /*<       devmod=value(locv+8) >*/
  1881.     devmod = blank_1.value[locv + 7];
  1882. /*<       vdsat(kntr)=value(locv+10) >*/
  1883.     vdsat[kntr - 1] = blank_1.value[locv + 9];
  1884. /*<       vth(kntr)=value(locv+9) >*/
  1885.     vth[kntr - 1] = blank_1.value[locv + 8];
  1886. /*<       gm(kntr)=value(loct+7) >*/
  1887.     gm[kntr - 1] = blank_1.value[loct + 6];
  1888. /*<       gds(kntr)=value(loct+8) >*/
  1889.     gds[kntr - 1] = blank_1.value[loct + 7];
  1890. /*<       gmb(kntr)=value(loct+9) >*/
  1891.     gmb[kntr - 1] = blank_1.value[loct + 8];
  1892. /*<       if(devmod.gt.0.0d0) go to 521 >*/
  1893.     if (devmod > 0.) {
  1894.     goto L521;
  1895.     }
  1896. /*<       vth(kntr)=value(locv+9) >*/
  1897.     vth[kntr - 1] = blank_1.value[locv + 8];
  1898. /*<   521 cbd(kntr)=value(loct+24) >*/
  1899. L521:
  1900.     cbd[kntr - 1] = blank_1.value[loct + 23];
  1901. /*<       cbs(kntr)=value(loct+26) >*/
  1902.     cbs[kntr - 1] = blank_1.value[loct + 25];
  1903. /*<       cgsov(kntr)=covlgs >*/
  1904.     cgsov[kntr - 1] = covlgs;
  1905. /*<       cgdov(kntr)=covlgd >*/
  1906.     cgdov[kntr - 1] = covlgd;
  1907. /*<       cgbov(kntr)=covlgb >*/
  1908.     cgbov[kntr - 1] = covlgb;
  1909. /*<       if (xqco.gt.0.5d0) go to 522 >*/
  1910.     if (xqco > .5) {
  1911.     goto L522;
  1912.     }
  1913. /*<       cggb(kntr)=value(loct+18) >*/
  1914.     cggb[kntr - 1] = blank_1.value[loct + 17];
  1915. /*<       cgdb(kntr)=value(loct+19) >*/
  1916.     cgdb[kntr - 1] = blank_1.value[loct + 18];
  1917. /*<       cgsb(kntr)=value(loct+20) >*/
  1918.     cgsb[kntr - 1] = blank_1.value[loct + 19];
  1919. /*<       cbgb(kntr)=value(loct+21) >*/
  1920.     cbgb[kntr - 1] = blank_1.value[loct + 20];
  1921. /*<       cbdb(kntr)=value(loct+22) >*/
  1922.     cbdb[kntr - 1] = blank_1.value[loct + 21];
  1923. /*<       cbsb(kntr)=value(loct+23) >*/
  1924.     cbsb[kntr - 1] = blank_1.value[loct + 22];
  1925. /*<       go to 525 >*/
  1926.     goto L525;
  1927. /*<   522 cgs(kntr)=value(loct+12) >*/
  1928. L522:
  1929.     cgs[kntr - 1] = blank_1.value[loct + 11];
  1930. /*<       cgd(kntr)=value(loct+14) >*/
  1931.     cgd[kntr - 1] = blank_1.value[loct + 13];
  1932. /*<       cgb(kntr)=value(loct+16) >*/
  1933.     cgb[kntr - 1] = blank_1.value[loct + 15];
  1934. /*<   525 if (kntr.ge.kntlim) go to 550 >*/
  1935. L525:
  1936.     if (kntr >= kntlim) {
  1937.     goto L550;
  1938.     }
  1939. /*<   530 loc=nodplc(loc) >*/
  1940. L530:
  1941.     loc = nodplc[loc - 1];
  1942. /*<       go to 520 >*/
  1943.     goto L520;
  1944. /*<   540 if (kntr.eq.0) go to 600 >*/
  1945. L540:
  1946.     if (kntr == 0) {
  1947.     goto L600;
  1948.     }
  1949. /*<   550 if (ititle.eq.0) write (iofile,501) >*/
  1950. L550:
  1951.     if (ititle == 0) {
  1952.     io__190.ciunit = status_1.iofile;
  1953.     s_wsfe(&io__190);
  1954.     e_wsfe();
  1955.     }
  1956. /*<       ititle=1 >*/
  1957.     ititle = 1;
  1958. /*<       write (iofile,afmt1) (anam(i),i=1,kntr) >*/
  1959.     io__191.ciunit = status_1.iofile;
  1960.     s_wsfe(&io__191);
  1961.     i_1 = kntr;
  1962.     for (i = 1; i <= i_1; ++i) {
  1963.     do_fio(&c__1, (char *)&anam[i - 1], (ftnlen)sizeof(doublereal));
  1964.     }
  1965.     e_wsfe();
  1966. /*<       write (iofile,afmt4) (amod(i),i=1,kntr) >*/
  1967.     io__192.ciunit = status_1.iofile;
  1968.     s_wsfe(&io__192);
  1969.     i_1 = kntr;
  1970.     for (i = 1; i <= i_1; ++i) {
  1971.     do_fio(&c__1, (char *)&amod[i - 1], (ftnlen)sizeof(doublereal));
  1972.     }
  1973.     e_wsfe();
  1974. /*<       if(type.eq.0.0d0) go to 555 >*/
  1975.     if (type == 0.) {
  1976.     goto L555;
  1977.     }
  1978. /*<       write (iofile,afmt3) aid,(cd(i),i=1,kntr) >*/
  1979.     io__193.ciunit = status_1.iofile;
  1980.     s_wsfe(&io__193);
  1981.     do_fio(&c__1, (char *)&aid, (ftnlen)sizeof(doublereal));
  1982.     i_1 = kntr;
  1983.     for (i = 1; i <= i_1; ++i) {
  1984.     do_fio(&c__1, (char *)&cd[i - 1], (ftnlen)sizeof(doublereal));
  1985.     }
  1986.     e_wsfe();
  1987. /*<       write (iofile,afmt2) avgs,(vgs(i),i=1,kntr) >*/
  1988.     io__194.ciunit = status_1.iofile;
  1989.     s_wsfe(&io__194);
  1990.     do_fio(&c__1, (char *)&avgs, (ftnlen)sizeof(doublereal));
  1991.     i_1 = kntr;
  1992.     for (i = 1; i <= i_1; ++i) {
  1993.     do_fio(&c__1, (char *)&vgs[i - 1], (ftnlen)sizeof(doublereal));
  1994.     }
  1995.     e_wsfe();
  1996. /*<       write (iofile,afmt2) avds,(vds(i),i=1,kntr) >*/
  1997.     io__195.ciunit = status_1.iofile;
  1998.     s_wsfe(&io__195);
  1999.     do_fio(&c__1, (char *)&avds, (ftnlen)sizeof(doublereal));
  2000.     i_1 = kntr;
  2001.     for (i = 1; i <= i_1; ++i) {
  2002.     do_fio(&c__1, (char *)&vds[i - 1], (ftnlen)sizeof(doublereal));
  2003.     }
  2004.     e_wsfe();
  2005. /*<       write (iofile,afmt2) avbs,(vbs(i),i=1,kntr) >*/
  2006.     io__196.ciunit = status_1.iofile;
  2007.     s_wsfe(&io__196);
  2008.     do_fio(&c__1, (char *)&avbs, (ftnlen)sizeof(doublereal));
  2009.     i_1 = kntr;
  2010.     for (i = 1; i <= i_1; ++i) {
  2011.     do_fio(&c__1, (char *)&vbs[i - 1], (ftnlen)sizeof(doublereal));
  2012.     }
  2013.     e_wsfe();
  2014. /*<       if (modedc.ne.1) go to 560 >*/
  2015.     if (status_1.modedc != 1) {
  2016.     goto L560;
  2017.     }
  2018. /*<       write (iofile,afmt2) avth,(vth(i),i=1,kntr) >*/
  2019.     io__197.ciunit = status_1.iofile;
  2020.     s_wsfe(&io__197);
  2021.     do_fio(&c__1, (char *)&avth, (ftnlen)sizeof(doublereal));
  2022.     i_1 = kntr;
  2023.     for (i = 1; i <= i_1; ++i) {
  2024.     do_fio(&c__1, (char *)&vth[i - 1], (ftnlen)sizeof(doublereal));
  2025.     }
  2026.     e_wsfe();
  2027. /*<       write (iofile,afmt2) avdsat,(vdsat(i),i=1,kntr) >*/
  2028.     io__198.ciunit = status_1.iofile;
  2029.     s_wsfe(&io__198);
  2030.     do_fio(&c__1, (char *)&avdsat, (ftnlen)sizeof(doublereal));
  2031.     i_1 = kntr;
  2032.     for (i = 1; i <= i_1; ++i) {
  2033.     do_fio(&c__1, (char *)&vdsat[i - 1], (ftnlen)sizeof(doublereal));
  2034.     }
  2035.     e_wsfe();
  2036. /*<       write (iofile,afmt3) agm,(gm(i),i=1,kntr) >*/
  2037.     io__199.ciunit = status_1.iofile;
  2038.     s_wsfe(&io__199);
  2039.     do_fio(&c__1, (char *)&agm, (ftnlen)sizeof(doublereal));
  2040.     i_1 = kntr;
  2041.     for (i = 1; i <= i_1; ++i) {
  2042.     do_fio(&c__1, (char *)&gm[i - 1], (ftnlen)sizeof(doublereal));
  2043.     }
  2044.     e_wsfe();
  2045. /*<       write (iofile,afmt3) agds,(gds(i),i=1,kntr) >*/
  2046.     io__200.ciunit = status_1.iofile;
  2047.     s_wsfe(&io__200);
  2048.     do_fio(&c__1, (char *)&agds, (ftnlen)sizeof(doublereal));
  2049.     i_1 = kntr;
  2050.     for (i = 1; i <= i_1; ++i) {
  2051.     do_fio(&c__1, (char *)&gds[i - 1], (ftnlen)sizeof(doublereal));
  2052.     }
  2053.     e_wsfe();
  2054. /*<       write (iofile,afmt3) agmb,(gmb(i),i=1,kntr) >*/
  2055.     io__201.ciunit = status_1.iofile;
  2056.     s_wsfe(&io__201);
  2057.     do_fio(&c__1, (char *)&agmb, (ftnlen)sizeof(doublereal));
  2058.     i_1 = kntr;
  2059.     for (i = 1; i <= i_1; ++i) {
  2060.     do_fio(&c__1, (char *)&gmb[i - 1], (ftnlen)sizeof(doublereal));
  2061.     }
  2062.     e_wsfe();
  2063. /*<       write (iofile,afmt3) acbd,(cbd(i),i=1,kntr) >*/
  2064.     io__202.ciunit = status_1.iofile;
  2065.     s_wsfe(&io__202);
  2066.     do_fio(&c__1, (char *)&acbd, (ftnlen)sizeof(doublereal));
  2067.     i_1 = kntr;
  2068.     for (i = 1; i <= i_1; ++i) {
  2069.     do_fio(&c__1, (char *)&cbd[i - 1], (ftnlen)sizeof(doublereal));
  2070.     }
  2071.     e_wsfe();
  2072. /*<       write (iofile,afmt3) acbs,(cbs(i),i=1,kntr) >*/
  2073.     io__203.ciunit = status_1.iofile;
  2074.     s_wsfe(&io__203);
  2075.     do_fio(&c__1, (char *)&acbs, (ftnlen)sizeof(doublereal));
  2076.     i_1 = kntr;
  2077.     for (i = 1; i <= i_1; ++i) {
  2078.     do_fio(&c__1, (char *)&cbs[i - 1], (ftnlen)sizeof(doublereal));
  2079.     }
  2080.     e_wsfe();
  2081. /*<       write (iofile,afmt3) acgsov,(cgsov(i),i=1,kntr) >*/
  2082.     io__204.ciunit = status_1.iofile;
  2083.     s_wsfe(&io__204);
  2084.     do_fio(&c__1, (char *)&acgsov, (ftnlen)sizeof(doublereal));
  2085.     i_1 = kntr;
  2086.     for (i = 1; i <= i_1; ++i) {
  2087.     do_fio(&c__1, (char *)&cgsov[i - 1], (ftnlen)sizeof(doublereal));
  2088.     }
  2089.     e_wsfe();
  2090. /*<       write (iofile,afmt3) acgdov,(cgdov(i),i=1,kntr) >*/
  2091.     io__205.ciunit = status_1.iofile;
  2092.     s_wsfe(&io__205);
  2093.     do_fio(&c__1, (char *)&acgdov, (ftnlen)sizeof(doublereal));
  2094.     i_1 = kntr;
  2095.     for (i = 1; i <= i_1; ++i) {
  2096.     do_fio(&c__1, (char *)&cgdov[i - 1], (ftnlen)sizeof(doublereal));
  2097.     }
  2098.     e_wsfe();
  2099. /*<       write (iofile,afmt3) acgbov,(cgbov(i),i=1,kntr) >*/
  2100.     io__206.ciunit = status_1.iofile;
  2101.     s_wsfe(&io__206);
  2102.     do_fio(&c__1, (char *)&acgbov, (ftnlen)sizeof(doublereal));
  2103.     i_1 = kntr;
  2104.     for (i = 1; i <= i_1; ++i) {
  2105.     do_fio(&c__1, (char *)&cgbov[i - 1], (ftnlen)sizeof(doublereal));
  2106.     }
  2107.     e_wsfe();
  2108. /*<       if (xqco.gt.0.5d0) go to 552 >*/
  2109.     if (xqco > .5) {
  2110.     goto L552;
  2111.     }
  2112. /*<       write (iofile,551) >*/
  2113.     io__207.ciunit = status_1.iofile;
  2114.     s_wsfe(&io__207);
  2115.     e_wsfe();
  2116. /*<   551 format(' derivatives of gate (dqgdvx) and bulk (dqbdvx) charges') >*/
  2117. /*<       write (iofile,afmt3) acggb,(cggb(i),i=1,kntr) >*/
  2118.     io__208.ciunit = status_1.iofile;
  2119.     s_wsfe(&io__208);
  2120.     do_fio(&c__1, (char *)&acggb, (ftnlen)sizeof(doublereal));
  2121.     i_1 = kntr;
  2122.     for (i = 1; i <= i_1; ++i) {
  2123.     do_fio(&c__1, (char *)&cggb[i - 1], (ftnlen)sizeof(doublereal));
  2124.     }
  2125.     e_wsfe();
  2126. /*<       write (iofile,afmt3) acgdb,(cgdb(i),i=1,kntr) >*/
  2127.     io__209.ciunit = status_1.iofile;
  2128.     s_wsfe(&io__209);
  2129.     do_fio(&c__1, (char *)&acgdb, (ftnlen)sizeof(doublereal));
  2130.     i_1 = kntr;
  2131.     for (i = 1; i <= i_1; ++i) {
  2132.     do_fio(&c__1, (char *)&cgdb[i - 1], (ftnlen)sizeof(doublereal));
  2133.     }
  2134.     e_wsfe();
  2135. /*<       write (iofile,afmt3) acgsb,(cgsb(i),i=1,kntr) >*/
  2136.     io__210.ciunit = status_1.iofile;
  2137.     s_wsfe(&io__210);
  2138.     do_fio(&c__1, (char *)&acgsb, (ftnlen)sizeof(doublereal));
  2139.     i_1 = kntr;
  2140.     for (i = 1; i <= i_1; ++i) {
  2141.     do_fio(&c__1, (char *)&cgsb[i - 1], (ftnlen)sizeof(doublereal));
  2142.     }
  2143.     e_wsfe();
  2144. /*<       write (iofile,afmt3) acbgb,(cbgb(i),i=1,kntr) >*/
  2145.     io__211.ciunit = status_1.iofile;
  2146.     s_wsfe(&io__211);
  2147.     do_fio(&c__1, (char *)&acbgb, (ftnlen)sizeof(doublereal));
  2148.     i_1 = kntr;
  2149.     for (i = 1; i <= i_1; ++i) {
  2150.     do_fio(&c__1, (char *)&cbgb[i - 1], (ftnlen)sizeof(doublereal));
  2151.     }
  2152.     e_wsfe();
  2153. /*<       write (iofile,afmt3) acbdb,(cbdb(i),i=1,kntr) >*/
  2154.     io__212.ciunit = status_1.iofile;
  2155.     s_wsfe(&io__212);
  2156.     do_fio(&c__1, (char *)&acbdb, (ftnlen)sizeof(doublereal));
  2157.     i_1 = kntr;
  2158.     for (i = 1; i <= i_1; ++i) {
  2159.     do_fio(&c__1, (char *)&cbdb[i - 1], (ftnlen)sizeof(doublereal));
  2160.     }
  2161.     e_wsfe();
  2162. /*<       write (iofile,afmt3) acbsb,(cbsb(i),i=1,kntr) >*/
  2163.     io__213.ciunit = status_1.iofile;
  2164.     s_wsfe(&io__213);
  2165.     do_fio(&c__1, (char *)&acbsb, (ftnlen)sizeof(doublereal));
  2166.     i_1 = kntr;
  2167.     for (i = 1; i <= i_1; ++i) {
  2168.     do_fio(&c__1, (char *)&cbsb[i - 1], (ftnlen)sizeof(doublereal));
  2169.     }
  2170.     e_wsfe();
  2171. /*<       go to 560 >*/
  2172.     goto L560;
  2173. /*<   552 write (iofile,afmt3) acgs,(cgs(i),i=1,kntr) >*/
  2174. L552:
  2175.     io__214.ciunit = status_1.iofile;
  2176.     s_wsfe(&io__214);
  2177.     do_fio(&c__1, (char *)&acgs, (ftnlen)sizeof(doublereal));
  2178.     i_1 = kntr;
  2179.     for (i = 1; i <= i_1; ++i) {
  2180.     do_fio(&c__1, (char *)&cgs[i - 1], (ftnlen)sizeof(doublereal));
  2181.     }
  2182.     e_wsfe();
  2183. /*<       write (iofile,afmt3) acgd,(cgd(i),i=1,kntr) >*/
  2184.     io__215.ciunit = status_1.iofile;
  2185.     s_wsfe(&io__215);
  2186.     do_fio(&c__1, (char *)&acgd, (ftnlen)sizeof(doublereal));
  2187.     i_1 = kntr;
  2188.     for (i = 1; i <= i_1; ++i) {
  2189.     do_fio(&c__1, (char *)&cgd[i - 1], (ftnlen)sizeof(doublereal));
  2190.     }
  2191.     e_wsfe();
  2192. /*<       write (iofile,afmt3) acgb,(cgb(i),i=1,kntr) >*/
  2193.     io__216.ciunit = status_1.iofile;
  2194.     s_wsfe(&io__216);
  2195.     do_fio(&c__1, (char *)&acgb, (ftnlen)sizeof(doublereal));
  2196.     i_1 = kntr;
  2197.     for (i = 1; i <= i_1; ++i) {
  2198.     do_fio(&c__1, (char *)&cgb[i - 1], (ftnlen)sizeof(doublereal));
  2199.     }
  2200.     e_wsfe();
  2201. /*<       go to 560 >*/
  2202.     goto L560;
  2203. /*<   555 write (iofile,afmt3) aid,(cd(i),i=1,kntr) >*/
  2204. L555:
  2205.     io__217.ciunit = status_1.iofile;
  2206.     s_wsfe(&io__217);
  2207.     do_fio(&c__1, (char *)&aid, (ftnlen)sizeof(doublereal));
  2208.     i_1 = kntr;
  2209.     for (i = 1; i <= i_1; ++i) {
  2210.     do_fio(&c__1, (char *)&cd[i - 1], (ftnlen)sizeof(doublereal));
  2211.     }
  2212.     e_wsfe();
  2213. /*<       write (iofile,afmt3) aig,(cg(i),i=1,kntr) >*/
  2214.     io__218.ciunit = status_1.iofile;
  2215.     s_wsfe(&io__218);
  2216.     do_fio(&c__1, (char *)&aig, (ftnlen)sizeof(doublereal));
  2217.     i_1 = kntr;
  2218.     for (i = 1; i <= i_1; ++i) {
  2219.     do_fio(&c__1, (char *)&cg[i - 1], (ftnlen)sizeof(doublereal));
  2220.     }
  2221.     e_wsfe();
  2222. /*<       write (iofile,afmt2) avgs,(vgs(i),i=1,kntr) >*/
  2223.     io__219.ciunit = status_1.iofile;
  2224.     s_wsfe(&io__219);
  2225.     do_fio(&c__1, (char *)&avgs, (ftnlen)sizeof(doublereal));
  2226.     i_1 = kntr;
  2227.     for (i = 1; i <= i_1; ++i) {
  2228.     do_fio(&c__1, (char *)&vgs[i - 1], (ftnlen)sizeof(doublereal));
  2229.     }
  2230.     e_wsfe();
  2231. /*<       write (iofile,afmt2) avds,(vds(i),i=1,kntr) >*/
  2232.     io__220.ciunit = status_1.iofile;
  2233.     s_wsfe(&io__220);
  2234.     do_fio(&c__1, (char *)&avds, (ftnlen)sizeof(doublereal));
  2235.     i_1 = kntr;
  2236.     for (i = 1; i <= i_1; ++i) {
  2237.     do_fio(&c__1, (char *)&vds[i - 1], (ftnlen)sizeof(doublereal));
  2238.     }
  2239.     e_wsfe();
  2240. /*<       write (iofile,afmt2) avbs,(vbs(i),i=1,kntr) >*/
  2241.     io__221.ciunit = status_1.iofile;
  2242.     s_wsfe(&io__221);
  2243.     do_fio(&c__1, (char *)&avbs, (ftnlen)sizeof(doublereal));
  2244.     i_1 = kntr;
  2245.     for (i = 1; i <= i_1; ++i) {
  2246.     do_fio(&c__1, (char *)&vbs[i - 1], (ftnlen)sizeof(doublereal));
  2247.     }
  2248.     e_wsfe();
  2249. /*<       if (modedc.ne.1) go to 560 >*/
  2250.     if (status_1.modedc != 1) {
  2251.     goto L560;
  2252.     }
  2253. /*<       write (iofile,afmt3) agm,(gm(i),i=1,kntr) >*/
  2254.     io__222.ciunit = status_1.iofile;
  2255.     s_wsfe(&io__222);
  2256.     do_fio(&c__1, (char *)&agm, (ftnlen)sizeof(doublereal));
  2257.     i_1 = kntr;
  2258.     for (i = 1; i <= i_1; ++i) {
  2259.     do_fio(&c__1, (char *)&gm[i - 1], (ftnlen)sizeof(doublereal));
  2260.     }
  2261.     e_wsfe();
  2262. /*<       write (iofile,afmt3) agds,(gds(i),i=1,kntr) >*/
  2263.     io__223.ciunit = status_1.iofile;
  2264.     s_wsfe(&io__223);
  2265.     do_fio(&c__1, (char *)&agds, (ftnlen)sizeof(doublereal));
  2266.     i_1 = kntr;
  2267.     for (i = 1; i <= i_1; ++i) {
  2268.     do_fio(&c__1, (char *)&gds[i - 1], (ftnlen)sizeof(doublereal));
  2269.     }
  2270.     e_wsfe();
  2271. /*<       write (iofile,afmt3) acgs,(cgs(i),i=1,kntr) >*/
  2272.     io__224.ciunit = status_1.iofile;
  2273.     s_wsfe(&io__224);
  2274.     do_fio(&c__1, (char *)&acgs, (ftnlen)sizeof(doublereal));
  2275.     i_1 = kntr;
  2276.     for (i = 1; i <= i_1; ++i) {
  2277.     do_fio(&c__1, (char *)&cgs[i - 1], (ftnlen)sizeof(doublereal));
  2278.     }
  2279.     e_wsfe();
  2280. /*<       write (iofile,afmt3) acgd,(cgd(i),i=1,kntr) >*/
  2281.     io__225.ciunit = status_1.iofile;
  2282.     s_wsfe(&io__225);
  2283.     do_fio(&c__1, (char *)&acgd, (ftnlen)sizeof(doublereal));
  2284.     i_1 = kntr;
  2285.     for (i = 1; i <= i_1; ++i) {
  2286.     do_fio(&c__1, (char *)&cgd[i - 1], (ftnlen)sizeof(doublereal));
  2287.     }
  2288.     e_wsfe();
  2289. /*<       write (iofile,afmt3) acgb,(cgb(i),i=1,kntr) >*/
  2290.     io__226.ciunit = status_1.iofile;
  2291.     s_wsfe(&io__226);
  2292.     do_fio(&c__1, (char *)&acgb, (ftnlen)sizeof(doublereal));
  2293.     i_1 = kntr;
  2294.     for (i = 1; i <= i_1; ++i) {
  2295.     do_fio(&c__1, (char *)&cgb[i - 1], (ftnlen)sizeof(doublereal));
  2296.     }
  2297.     e_wsfe();
  2298. /*<       write (iofile,afmt3) acds,(cds(i),i=1,kntr) >*/
  2299.     io__227.ciunit = status_1.iofile;
  2300.     s_wsfe(&io__227);
  2301.     do_fio(&c__1, (char *)&acds, (ftnlen)sizeof(doublereal));
  2302.     i_1 = kntr;
  2303.     for (i = 1; i <= i_1; ++i) {
  2304.     do_fio(&c__1, (char *)&cds[i - 1], (ftnlen)sizeof(doublereal));
  2305.     }
  2306.     e_wsfe();
  2307. /*<   560 kntr=0 >*/
  2308. L560:
  2309.     kntr = 0;
  2310. /*<       if ((loc.ne.0).and.(nodplc(loc+33).eq.0)) go to 530 >*/
  2311.     if (loc != 0 && nodplc[loc + 32] == 0) {
  2312.     goto L530;
  2313.     }
  2314.  
  2315. /*  operating point analyses */
  2316.  
  2317. /*<   600 if (modedc.ne.1) go to 700 >*/
  2318. L600:
  2319.     if (status_1.modedc != 1) {
  2320.     goto L700;
  2321.     }
  2322. /*<       if (kinel.eq.0) go to 610 >*/
  2323.     if (dc_1.kinel == 0) {
  2324.     goto L610;
  2325.     }
  2326. /*<       call sstf >*/
  2327.     sstf_();
  2328. /*<   610 if (nsens.eq.0) go to 700 >*/
  2329. L610:
  2330.     if (tabinf_1.nsens == 0) {
  2331.     goto L700;
  2332.     }
  2333. /*<       call sencal >*/
  2334.     sencal_();
  2335.  
  2336. /*  finished */
  2337.  
  2338. /*<   700 if (modedc.eq.2) go to 710 >*/
  2339. L700:
  2340.     if (status_1.modedc == 2) {
  2341.     goto L710;
  2342.     }
  2343. /*<       if (jacflg.ne.0) go to 705 >*/
  2344.     if (ac_1.jacflg != 0) {
  2345.     goto L705;
  2346.     }
  2347. /*<       call clrmem(lvnim1) >*/
  2348.     clrmem_(&tabinf_1.lvnim1);
  2349. /*<       call clrmem(lx0) >*/
  2350.     clrmem_(&tabinf_1.lx0);
  2351. /*<   705 call clrmem(lvn) >*/
  2352. L705:
  2353.     clrmem_(&tabinf_1.lvn);
  2354. /*<       call clrmem(lvntmp) >*/
  2355.     clrmem_(&tabinf_1.lvntmp);
  2356. /*<       if (memptr(macins)) call clrmem(macins) >*/
  2357.     if (memptr_(&tabinf_1.macins)) {
  2358.     clrmem_(&tabinf_1.macins);
  2359.     }
  2360. /*<   710 call second(t2) >*/
  2361. L710:
  2362.     second_(&t2);
  2363. /*<       rstats(5)=rstats(5)+t2-t1 >*/
  2364.     miscel_1.rstats[4] = miscel_1.rstats[4] + t2 - t1;
  2365. /*<       return >*/
  2366.     return 0;
  2367. /*<       end >*/
  2368. } /* dcop_ */
  2369.  
  2370. #undef cgdb
  2371. #undef cbgb
  2372. #undef cds
  2373. #undef cgb
  2374. #undef cgd
  2375. #undef cgs
  2376. #undef vth
  2377. #undef cbs
  2378. #undef cbd
  2379. #undef vbs
  2380. #undef vgs
  2381. #undef vds
  2382. #undef gds
  2383. #undef rpi
  2384. #undef rx
  2385. #undef cbx
  2386. #undef req
  2387. #undef ccs
  2388. #undef cmu
  2389. #undef cpi
  2390. #undef vce
  2391. #undef vbc
  2392. #undef vbe
  2393. #undef cap
  2394. #undef ai1
  2395. #undef av1
  2396. #undef cvalue
  2397. #undef nodplc
  2398. #undef ro
  2399. #undef ft
  2400. #undef vd
  2401. #undef betadc
  2402. #undef betaac
  2403. #undef cg
  2404. #undef cd
  2405. #undef cc
  2406. #undef cb
  2407. #undef vdsat
  2408. #undef cgsov
  2409. #undef cgbov
  2410. #undef cgdov
  2411. #undef cgsb
  2412. #undef cggb
  2413. #undef afmt1
  2414. #undef ablnk
  2415. #undef aft
  2416. #undef abetaa
  2417. #undef abetad
  2418. #undef arx
  2419. #undef acbx
  2420. #undef accs
  2421. #undef agmb
  2422. #undef agds
  2423. #undef agm
  2424. #undef avdsat
  2425. #undef avth
  2426. #undef acds
  2427. #undef acgb
  2428. #undef acbsb
  2429. #undef acbdb
  2430. #undef acbgb
  2431. #undef acgsb
  2432. #undef acgdb
  2433. #undef acggb
  2434. #undef acgbov
  2435. #undef acgdov
  2436. #undef acgsov
  2437. #undef acbs
  2438. #undef acbd
  2439. #undef acgd
  2440. #undef acgs
  2441. #undef acmu
  2442. #undef acpi
  2443. #undef acap
  2444. #undef aro
  2445. #undef arpi
  2446. #undef areq
  2447. #undef aig
  2448. #undef aic
  2449. #undef aib
  2450. #undef aid
  2451. #undef asrci
  2452. #undef asrcv
  2453. #undef avbs
  2454. #undef avds
  2455. #undef avgs
  2456. #undef avce
  2457. #undef avbc
  2458. #undef avbe
  2459. #undef avd
  2460. #undef optitl
  2461. #undef afmt4
  2462. #undef afmt3
  2463. #undef afmt2
  2464.  
  2465.  
  2466.